From roberto.santini89@gmail.com Thu Sep 15 23:09:43 2016 From: roberto.santini89@gmail.com (Roberto Santini) Date: Thu, 15 Sep 2016 23:09:43 +0200 Subject: [bglug] Ajax, php e protezione del codice Message-ID: Ciao a tutti ragazzi, ho una domanda per chi di voi si intende più di me di Javascript e PHP. Ho realizzato un'applicazione con numerose pagine e funzioni. Ogni pagina PHP fa uso di Javascript/jQuery e carica/elabora dati da database attraverso altre pagine PHP più semplici. 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. Ho cercato qualche soluzione in giro ma ho le idee un po confuse su quale sia la soluzione migliore. 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. Altre soluzioni? Grazie -- Roberto Santini Skype: cent89 -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: From bonacina.alberto@gmail.com Fri Sep 16 00:24:10 2016 From: bonacina.alberto@gmail.com (Alberto Bonacina) Date: Fri, 16 Sep 2016 00:24:10 +0200 Subject: [bglug] Ajax, php e protezione del codice In-Reply-To: References: Message-ID: Il 15 settembre 2016 23:09, Roberto Santini 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------------- hello world""; ?> ---------------------8------------- e poi apri quella pagina dal browser quello che vedi nel sorgente della pagina è -----------------8<---------

hello world

-----------------8<---------- anche supponendo di fare un wget di quella pagina ottieni comunque -----------------8<---------

hello world

-----------------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 From enrico.bacis@gmail.com Fri Sep 16 08:08:34 2016 From: enrico.bacis@gmail.com (Enrico Bacis) Date: Fri, 16 Sep 2016 08:08:34 +0200 Subject: [bglug] Ajax, php e protezione del codice In-Reply-To: References: Message-ID: 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" wrote: > Il 15 settembre 2016 23:09, Roberto Santini > 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------------- > echo "

hello world"

"; > ?> > ---------------------8------------- > > e poi apri quella pagina dal browser quello che vedi nel sorgente della > pagina è > > -----------------8<--------- >

hello world

> -----------------8<---------- > > anche supponendo di fare un wget di quella pagina ottieni comunque > > -----------------8<--------- >

hello world

> -----------------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 -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: From roberto.santini89@gmail.com Fri Sep 16 11:03:39 2016 From: roberto.santini89@gmail.com (Roberto Santini) Date: Fri, 16 Sep 2016 11:03:39 +0200 Subject: [bglug] Ajax, php e protezione del codice In-Reply-To: References: Message-ID: 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 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" > wrote: > >> Il 15 settembre 2016 23:09, Roberto Santini >> 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------------- >> > echo "

hello world"

"; >> ?> >> ---------------------8------------- >> >> e poi apri quella pagina dal browser quello che vedi nel sorgente della >> pagina è >> >> -----------------8<--------- >>

hello world

>> -----------------8<---------- >> >> anche supponendo di fare un wget di quella pagina ottieni comunque >> >> -----------------8<--------- >>

hello world

>> -----------------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: From amreo@live.it Sun Sep 18 11:47:22 2016 From: amreo@live.it (Amreo Dio) Date: Sun, 18 Sep 2016 09:47:22 +0000 Subject: [bglug] Ajax, php e protezione del codice In-Reply-To: References: Message-ID: Ti consiglio il secondo metodo con l'ausilio della variabile di sessione, oppure imposta i permessi che bloccano l'accesso alla pagina dall'esterno Il 15/09/2016 23:09, Roberto Santini ha scritto: Ciao a tutti ragazzi, ho una domanda per chi di voi si intende più di me di Javascript e PHP. Ho realizzato un'applicazione con numerose pagine e funzioni. Ogni pagina PHP fa uso di Javascript/jQuery e carica/elabora dati da database attraverso altre pagine PHP più semplici. 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. Ho cercato qualche soluzione in giro ma ho le idee un po confuse su quale sia la soluzione migliore. 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. Altre soluzioni? Grazie -- Roberto Santini Skype: cent89 -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: From emilio.bruna@libero.it Wed Sep 21 11:29:28 2016 From: emilio.bruna@libero.it (Libero.it) Date: Wed, 21 Sep 2016 11:29:28 +0200 Subject: [bglug] CERCASI Sviluppatore/Sistemista Message-ID: Buon giorno a tutti, sto cercando uno sviluppatore / sistemista con buona capacità di progettazione e ottima conoscenza del sistema linux (interazione con system calls, kernel etc - preferibilmente ma non obbligatoriamente distro debian/ubuntu). Il progetto verte su un core di gestione e controllo host kvm (libvirt). Se qualcuno fosse disponibile / interessato mi ricontatti pure a questo indirizzo. Grazie -------------- parte successiva -------------- Un allegato HTML è stato rimosso... URL: From ivo.leidi@topgraf.it Wed Sep 21 15:50:00 2016 From: ivo.leidi@topgraf.it (Ivo Leidi) Date: Wed, 21 Sep 2016 13:50:00 +0000 Subject: [bglug] [OT] ricerca sistemista di rete Linux / Windows Message-ID: Perdonate l'intrusione, cerchiamo un sistemista di rete per l'amministrazione server di infrastruttura e web, interni e dei nostri clienti, Linux (CentOS) / Windows, su piattaforme virtualizzate VMWare in HA. Se qualcuno fosse interessato, invii una mail con curriculum a curriculum@topgraf.it. Grazie! Ivo Leidi