[Generale] domanda php 2

Michele Pinassi o-zone a zerozone.it
Dom 29 Ago 2010 15:03:54 BST


In più suggerisco di usare una funzione tipo cleanInput:

function cleanInput($u_Input) {
     $banlist = array (
         " insert ", " select ", " update ", " delete ", " distinct ", " 
having ", " truncate ", " replace ",
         " handler ", " like ", " as ", " or ", " procedure ", " limit 
", " order by ", " group by ", " asc ", " desc "
     );
     $replacelist = array (
         " ins3rt ", " s3lect ", " upd4te ", " d3lete ", " d1stinct ", " 
h4ving ", " trunc4te ", " r3place ",
         " h4ndler ", " l1ke ", " 4s ", " 0r ", " procedur3 ", " l1mit 
", " 0rder by ", " gr0up by ", " 4sc ", " d3sc "
     );
     if(eregi( "[a-zA-Z0-9]+", $u_Input )) {
         $u_Input = trim(str_replace($banlist, $replacelist, $u_Input));
     } else {
         $u_Input = NULL;
     }
     return $u_Input;
}

$myUsername = mysql_escape_string(CleanInput($_POST["myUsername"]));

che impedisce ad eventuali "furbetti" di fare sql injection.

Michele


On 27/08/2010 19:05, Yusef Maali wrote:
> Altra cosa:
>
> quando concateni delle variabili ad un stringa SQL, usa sempre la funzione
> mysql_real_escape_string($mia_variabile) [1], invece della variabile diretta.
>
> L'Sql injection si basa su questo principio.
>
> Ciao
>
> [1]: http://www.php.net/manual/en/function.mysql-real-escape-string.php
>
>
>
>
> In data venerdì 27 agosto 2010 17:32:51, bartrosso ha scritto:
>    
>> salve, sono di nuovo il tanga.
>> La prima risposta che ho avuto mi ha permesso di continuare il lavoro.
>> Però ora ho un errore dovuto all'avvenuto upload delle immagini.
>>
>> quando ottengo il messaggio di conferma, faccio stampare a video un pò do
>> info relative al file caricato, al momento di stampare il nome dell'autore
>> però mi ritorna:
>>
>> Resource id #11:
>>
>> codice:
>> $idautore=$_SESSION['id'];  altro codice
>>
>> $query = "INSERT INTO immagini (titolo,descrizione,nome,type,idautore)
>> VALUES('$titolo','$descrizione','$nome','$type','$idautore')";
>>
>>
>>
>> $autore=@mysql_query("SELECT 'username' FROM autore WHERE id='$idautore'");
>> echo "Autore: ".$autore;
>>
>>
>>
>> mi potete aiutare?
>> grazie mille
>>   il tanga
>>      
> _______________________________________________
> Generale mailing list
> Generale a liste.siena.linux.it
> http://liste.siena.linux.it/cgi-bin/mailman/listinfo/generale
>    



Maggiori informazioni sulla lista Generale