• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Richiesta Filtrare PHP e MySQL per evitare injection

FulmineVerde

Utente Medio
Autore del topic
10 Marzo 2013
109
32
Miglior risposta
0
Salve a tutti utenti di sciax2, volevo chiedere, dato che sono alle prime armi con il php e il mysql, per evitare le injection devo filtrare tutti gli $_POST, $_GET con mysql_real_escape_string, volevo chiedervi se queste parti vanno filtrate:
<?php if(!isset($_GET['edit']) && !isset($_GET['add']) && !isset($_GET['delete'])){ ?>

}elseif(isset($_GET['edit'])){
$id = isset($_GET['edit']) ? $_GET['edit'] : '';

}elseif(isset($_GET['delete'])){
if($rank >= '9'){
$id = mysql_real_escape_string($_GET['delete']);

Attendo rispote. Grazie in anticipo
 
Quindi quei valori non vanno filtrati giusto?
Va filtrato solo
mysql_real_escape_string(htmlspecialchars($_POST['username'])); etc?

--- Aggiornato ---

Per esempio, un login messo così:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

è vulnerabile?
 
Ultima modifica:
Quindi quei valori non vanno filtrati giusto?
Va filtrato solo
mysql_real_escape_string(htmlspecialchars($_POST['username'])); etc?

solo quelle che userai per istruzioni sql.

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

è vulnerabile?

Il concetto di vulnerabile dipende anche dal db , dalla connessione con quest'ultimo e dal protocollo di rete utilizzato, quindi se ti riferisci solo alle inejction la risposta è no.
 
ti consiglio di cambiare libreria e di utilizzare il PDO che con il suo prepare "pulisce" in automatico i parametri, inoltre la libreria mysql è deprecata nel php(per questioni riguardanti, appunto, la sicurezza). O usi PDO o mysql.
 
Con MySQL non puoi filtrare le query in modo completo, ti consiglio PDO per fare un check che non esegue subito le query ma le prepara (filtra)