<div dir="ltr"><div><div>Grazie.<br></div>Si, effettivamente sto usando php puro e quelle pagine figlie servono proprio per fare modifiche al db. <br></div>Sto cercando ora di utilizzare un framework (Laravel), cerco di capirci qualcosa!<br></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 16 settembre 2016 08:08, Enrico Bacis <span dir="ltr"><<a href="mailto:enrico.bacis@gmail.com" target="_blank">enrico.bacis@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">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? </p>
<p dir="ltr">Perché altrimenti SQL injection lo hai per forza :)</p>
<p dir="ltr">Come dice Alberto anche io ti consiglio di usare un framework php e usare le loro classi e metodi per interfacciarti con il db.</p>
<p dir="ltr">Ciao<span class="HOEnZb"><font color="#888888"><br>
Enrico</font></span></p><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><div class="gmail_quote">On Sep 16, 2016 00:24, "Alberto Bonacina" <<a href="mailto:bonacina.alberto@gmail.com" target="_blank">bonacina.alberto@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Il 15 settembre 2016 23:09, Roberto Santini<br>
<<a href="mailto:roberto.santini89@gmail.com" target="_blank">roberto.santini89@gmail.com</a>> ha scritto:<br>
<br>
> Ogni pagina PHP fa uso di Javascript/jQuery e<br>
> carica/elabora dati da database attraverso altre pagine PHP più semplici.<br>
<br>
Ma i parametri di connessione al db, per esempio, sono scritti in file<br>
js o in un file di config in PHP?<br>
<br>
> Tuttavia, per ora, nulla impedisce ad uno un po sgamato di aprire<br>
> direttamente la pagina PHP 'semplice' (chiamiamola figlia), quella che ha<br>
> accesso diretto al db, a prescindere dalla 'madre', dunque può<br>
> creare/modificare record.<br>
<br>
Scusa Roberto ma non ho capito questa parte... se uno utente aprisse<br>
la pagina renderizzata nel browser supponiamo la index.php non<br>
potrebbe vedere il codice php che ha generato quella pagina ma solo il<br>
suo risultato. Non ho sinceramente capito come potrebbe andare a<br>
leggere i singoli file php...<br>
Sinceramente mi preoccuperei più del codice javascript che non di<br>
quello php, quello è veramente in chiaro essendo eseguito lato<br>
"client" e non server come invece lo sarebbe quello php.<br>
<br>
se crei un file php con scritto<br>
<br>
---------------------8--------<wbr>-----<br>
<?php<br>
echo "<h1>hello world"</h1>";<br>
?><br>
---------------------8--------<wbr>-----<br>
<br>
e poi apri quella pagina dal browser quello che vedi nel sorgente della pagina è<br>
<br>
-----------------8<---------<br>
<html><head></head><body><h1>h<wbr>ello world</h1></body></html><br>
-----------------8<----------<br>
<br>
anche supponendo di fare un wget di quella pagina ottieni comunque<br>
<br>
-----------------8<---------<br>
<h1>hello world</h1><br>
-----------------8<---------<br>
<br>
ma non sai l'effettivo codice php che l'ha eseguito...<br>
<br>
> 1) potrei, ad ogni chiamata ajax, passare al file php una sorta di password<br>
> per poter essere eseguito; in questo modo le due pagine sono legate ma il<br>
> file javascript rimane leggibile, dunque anche la password. Ho letto in giro<br>
> che offuscare il codice non è la cosa migliore.<br>
> 2) potrei creare una variabile di sessione e ne verifico l'esistenza nella<br>
> pagina figlia prima di continuare l'esecuzione.<br>
<br>
Supponendo di utilizzare password, creazione di hash, qualsiasi cosa<br>
lato client (javascript, jquery) per come detto prima possono essere<br>
lette. Quello che puoi fare è utilizzare una variabile di sessione<br>
ottenuta per esempio tramite login, e poi utilizzare sempre quella per<br>
eseguire/controllare le chiamate lato server, oppure sfruttare i<br>
cookie del browser e poi andare a leggere quel cookie che hai settato<br>
per verificare che sia stata fatta un'autenticazione.<br>
<br>
Oppure dato che usi php, spero non "puro" ma magari qualche framework,<br>
potresti avere già a disposizione dei metodi per creare delle<br>
sessioni, passare dai parametri in post con anche degli hash con<br>
codice lato server, in modo che non sia comunque intercettabile per un<br>
utente che guarda semplicemente la tua pagina nel browser...<br>
<br>
Spero di esserti stato d'aiuto.<br>
<br>
--<br>
Bonacina Alberto<br>
Website: <a href="http://www.albertobonacina.com" rel="noreferrer" target="_blank">www.albertobonacina.com</a><br>
<br>
--<br>
Sito BgLUG: <a href="http://www.bglug.it" rel="noreferrer" target="_blank">http://www.bglug.it</a><br>
Mailing list: <a href="http://lists.linux.it/listinfo/bglug" rel="noreferrer" target="_blank">http://lists.linux.it/listinfo<wbr>/bglug</a></blockquote></div></div>
</div></div><br><br>
--<br>
Sito BgLUG: <a href="http://www.bglug.it" rel="noreferrer" target="_blank">http://www.bglug.it</a><br>
Mailing list: <a href="http://lists.linux.it/listinfo/bglug" rel="noreferrer" target="_blank">http://lists.linux.it/<wbr>listinfo/bglug</a><br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Roberto Santini<br>Skype: cent89<br></div>
</div>