MySQL Sicurezza nella ricerca di testo completo

1

Questo codice è sicuro da SQL injection?

$search = $_GET ['search'];
$query = $db->prepare("SELECT COUNT(*) AS num FROM table WHERE MATCH (id,keywords) AGAINST ('$search*' IN BOOLEAN MODE)");
$query->execute();

UPDATE: Secondo la risposta qui sotto ho cambiato il mio codice e ora è:

$search = $_GET ['search'];
$tbl_name = 'my_table_name';

$query = $db->prepare("SELECT COUNT(*) AS num FROM $tbl_name WHERE MATCH (id,keywords) AGAINST (:search IN BOOLEAN MODE)");
$query->bindValue(':search', $search . '*', PDO::PARAM_STR);
$query->execute();

Grazie

    
posta Misha 08.11.2015 - 04:08
fonte

1 risposta

1

Il codice non è sicuro contro l'iniezione SQL perché non si utilizza il collegamento ai parametri né si esegue correttamente l'escape dell'input dell'utente.

Ti consiglio di dare un'occhiata al link per capire meglio come funziona l'iniezione SQL e come scrivere codice che è sicuro contro l'iniezione SQL nel linguaggio di programmazione di tua scelta.

    
risposta data 08.11.2015 - 08:12
fonte

Leggi altre domande sui tag