Newsgroup: it.comp.www.php
Titolo: Php e sicurezza con query SQL

Ragazzi voi come vi regolate per rendere sicure le query sql , tramite
inserimento di caratteri sgraditi nei form ??
Mi riferisco sempre dal punto di vista di php intendo !!
O dove posso trovare materiale a riguardo ?
Tnx

inserimento di caratteri sgraditi nei form ??
Ad esempio?
M

Non ti seguo.
Io non faccio mai inserire una query intera da form, a meno che non sia
una mia pagina temporanea di sviluppo.
Le query le faccio io in stesura, e al massimo posso utilizzare dei
parametri dinamici.
Ma in tal caso ciò non compromette la salute del database.
Ciao
Cla

Ma in tal caso ciò non compromette la salute del database.
Qualche controllo sui valori va sempre fatto.
Bonf

Bhč funzioni che alterano i contenuti del database non dovrebbero essere
accessibili agli utenti comuni.
In piů da form si puň utilizzare il post invece del get.
Ciao
Cla

In più da form si può utilizzare il post invece del get.
E questo ti fa sentire sicuro ???
Bonf

 E questo ti fa sentire sicuro ???
Bhè quanto meno non posso copiare una url modificandone i parametri ed
in tal modo aggiungere/cancellare/modificare entry di un database.
Ciao
Cla

in tal modo aggiungere/cancellare/modificare entry di un database.
Se vogliono bucarti possono lo stesso e' scomodo ma si hanno tutte le
informazioni necessarie.
Bonf

 wrote in message
news:XSXS8.77532$Kt3.1...@twister2.libero.it...

filtrare certi caratteri ('"<>/\~|&#;%),  (insomma quasi tutto non alfanum)
http://www.php.net/manual/en/security.database.php
#security.database.sql-injection
cmq. leggi TUTTO:
 
http://www.php.net/manual/en/security.php

 wrote in message
news:afi2ak$s8o$1...@lacerta.tiscalinet.it...

Scrivere un pezzo di HTML ed il gioco e' (quasi) fatto.
// non ho messo urlencoded per vedere meglio il risultato
<FORM method=post action="
http://iotibuco.com?id=0;UPDATE
 user SET
Password=PASSWORD('byebye') WHERE user='root';FLUSH PRIVILEGES;">
<INPUT type=text name=id value="id=0;UPDATE user SET
Password=PASSWORD('byebye') WHERE user='root';FLUSH PRIVILEGES;">
<INPUT type=text name=debug value=1>
<INPUT type=text name=showvars value=1>
<INPUT type=submit>
</FORM>
oppure (usando il limit quando si ha un risultato su piu' pagine)
<FORM method=post action="
http://iotibuco.com?limit=0;UPDATE
 user SET
Password=PASSWORD('byebye') WHERE user='root';FLUSH PRIVILEGES;">
<INPUT type=text name=id value="limit=0;UPDATE user SET
Password=PASSWORD('byebye') WHERE user='root';FLUSH PRIVILEGES;">
<INPUT type=text name=debug value=1>
<INPUT type=text name=showvars value=1>
<INPUT type=submit>
</FORM>

 se i tuoi script sono scarsi puo' farlo
Programmatore scarso... merita sito bucato
Programmatore esperto... ha un sito più sicuro
...mi sembra normale ;-))
Si deve sempre assumere che tutto ciò che viene dalle variabili di $_GET
$_POST $_COOKIE possa essere la più sporca immondizia...
Si deve sempre controllare che POSSANO contenere solo quello che DEVONO
contenere!!!
E' palloso... si devono sempre fare controlli di FORMATO, VALORE e COERENZA
di ogni dato che ricevi dall'esterno ...ma con qualche libreria dopo un po'
il lavoro si alleggerisce ;-)
bye Brain
--
Reply to: brain79(at)
inwind.it
www.brainetwork.net
ICQ# 
4742797710
 - FeSToso n°143

 </FORM>
Ma mysql_query() permette di effettuare piů query alla volta? A me sembra di
no. Se fosse come penso io, un sql injection di questo tipo sarebbe
impossibile.
--
Stefano Vita Finzi Zalman
ho...@despammed.com
--
Pronesis srl
www.pronesis.it

 impossibile.
ACK!
mySQL no, vero. Ma postgres e mssql.
Ecco una lista delle possibilita' per vari tipi di database:
 
http://www.owasp.org/asac/input_validation/sql.shtml