[bglug] Ajax, php e protezione del codice
Roberto Santini
roberto.santini89@gmail.com
Ven 16 Set 2016 11:03:39 CEST
Grazie.
Si, effettivamente sto usando php puro e quelle pagine figlie servono
proprio per fare modifiche al db.
Sto cercando ora di utilizzare un framework (Laravel), cerco di capirci
qualcosa!
Il giorno 16 settembre 2016 08:08, Enrico Bacis <enrico.bacis@gmail.com> ha
scritto:
> Altra cosa per quando parli della pagina"figlia", questa non è una pagina
> che fa praticamente solo da interfaccia per il db e che permette modifiche
> prendendo i parametri di GET o POST vero?
>
> Perché altrimenti SQL injection lo hai per forza :)
>
> Come dice Alberto anche io ti consiglio di usare un framework php e usare
> le loro classi e metodi per interfacciarti con il db.
>
> Ciao
> Enrico
>
> On Sep 16, 2016 00:24, "Alberto Bonacina" <bonacina.alberto@gmail.com>
> wrote:
>
>> Il 15 settembre 2016 23:09, Roberto Santini
>> <roberto.santini89@gmail.com> ha scritto:
>>
>> > Ogni pagina PHP fa uso di Javascript/jQuery e
>> > carica/elabora dati da database attraverso altre pagine PHP più
>> semplici.
>>
>> Ma i parametri di connessione al db, per esempio, sono scritti in file
>> js o in un file di config in PHP?
>>
>> > Tuttavia, per ora, nulla impedisce ad uno un po sgamato di aprire
>> > direttamente la pagina PHP 'semplice' (chiamiamola figlia), quella che
>> ha
>> > accesso diretto al db, a prescindere dalla 'madre', dunque può
>> > creare/modificare record.
>>
>> Scusa Roberto ma non ho capito questa parte... se uno utente aprisse
>> la pagina renderizzata nel browser supponiamo la index.php non
>> potrebbe vedere il codice php che ha generato quella pagina ma solo il
>> suo risultato. Non ho sinceramente capito come potrebbe andare a
>> leggere i singoli file php...
>> Sinceramente mi preoccuperei più del codice javascript che non di
>> quello php, quello è veramente in chiaro essendo eseguito lato
>> "client" e non server come invece lo sarebbe quello php.
>>
>> se crei un file php con scritto
>>
>> ---------------------8-------------
>> <?php
>> echo "<h1>hello world"</h1>";
>> ?>
>> ---------------------8-------------
>>
>> e poi apri quella pagina dal browser quello che vedi nel sorgente della
>> pagina è
>>
>> -----------------8<---------
>> <html><head></head><body><h1>hello world</h1></body></html>
>> -----------------8<----------
>>
>> anche supponendo di fare un wget di quella pagina ottieni comunque
>>
>> -----------------8<---------
>> <h1>hello world</h1>
>> -----------------8<---------
>>
>> ma non sai l'effettivo codice php che l'ha eseguito...
>>
>> > 1) potrei, ad ogni chiamata ajax, passare al file php una sorta di
>> password
>> > per poter essere eseguito; in questo modo le due pagine sono legate ma
>> il
>> > file javascript rimane leggibile, dunque anche la password. Ho letto in
>> giro
>> > che offuscare il codice non è la cosa migliore.
>> > 2) potrei creare una variabile di sessione e ne verifico l'esistenza
>> nella
>> > pagina figlia prima di continuare l'esecuzione.
>>
>> Supponendo di utilizzare password, creazione di hash, qualsiasi cosa
>> lato client (javascript, jquery) per come detto prima possono essere
>> lette. Quello che puoi fare è utilizzare una variabile di sessione
>> ottenuta per esempio tramite login, e poi utilizzare sempre quella per
>> eseguire/controllare le chiamate lato server, oppure sfruttare i
>> cookie del browser e poi andare a leggere quel cookie che hai settato
>> per verificare che sia stata fatta un'autenticazione.
>>
>> Oppure dato che usi php, spero non "puro" ma magari qualche framework,
>> potresti avere già a disposizione dei metodi per creare delle
>> sessioni, passare dai parametri in post con anche degli hash con
>> codice lato server, in modo che non sia comunque intercettabile per un
>> utente che guarda semplicemente la tua pagina nel browser...
>>
>> Spero di esserti stato d'aiuto.
>>
>> --
>> Bonacina Alberto
>> Website: www.albertobonacina.com
>>
>> --
>> Sito BgLUG: http://www.bglug.it
>> Mailing list: http://lists.linux.it/listinfo/bglug
>
>
>
> --
> Sito BgLUG: http://www.bglug.it
> Mailing list: http://lists.linux.it/listinfo/bglug
>
--
Roberto Santini
Skype: cent89
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/bglug/attachments/20160916/e2b48b4e/attachment-0001.html>
Maggiori informazioni sulla lista
bglug