- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sicurezza dati in ingresso da form
-
Sicurezza dati in ingresso da form
Ciao a tutti, con un controllo di questo tipo ad esempio sul campo nome di un form:
</SPAN>codice PHP:
$errore=eregi('[a-z]{'.$min.','.$max.'}',$str);Nel caso un utente inserisca ad esempio:
<script>while(true){alert("Ah ah ah");}</script>
E' sufficiente per difendersi?
-
Ciao Symon83,
Se non deve essere inviato codice html puoi usare la funzione htmlentities per convertire i caratteri nelle corrispondenti entità html.
Comunque senza capire come dovrai utilizzare la cosa è impossibile consigliarti un metodo adatto alle tue esigenze.
-
Assolutamente no!
Hai sbagliato funzione guarda! php.net/eregi.Usa preg_match.
Il tuo esempio chiede se all'interno di str c'è una o più lettere dell'alfabeto..che protezione è?
-
Si si infatti poi ho quando ho fatto la prova ho messo htmlentities() per proteggermi, solo pensavo che quella condizione bastasse perchè passo la stringa e gli dico che deve avere una lunghezza minima e massima e accetta solo lettere dell'alfabeto, senza caratteri strani. Forse non ho ben presente il funzionamento di eregi. Darò un'occhiata grazie! ciao
-
Io ti consiglio di fare così [URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"][URL="javascript:hidediv()"]:
[PHP]if(!get_magic_quotes_gpc()){
$contents =addslashes(htmlentities($_POST['contents'],ENT_QUOTES));
}else{
$contents = addslashes(htmlentities(stripslashes($_POST['contents']),ENT_QUOTES));
}[/PHP]E poi ti recuperi i valori dal db così :
[PHP]while($row = mysq_fetch.....){
$row['contents'] = stripslashes($row['contents']);
}[/PHP]