Perché è meglio usare filter_input ()?

Questa dovrebbe essere una domanda elementare, ma perché è meglio usare qualcosa del genere:

$pwd = filter_input(INPUT_POST, 'pwd'); 

Invece di solo:

 $pwd = $_POST['pwd']; 

PS: Capisco che l'estensione del filter può essere utilizzata con più argomenti per fornire un ulteriore livello di sanificazione.

Non è. $_GET , $_POST , $_COOKIE e $_REQUEST vengono filtrati con il filter predefinito . filter_input(INPUT_POST, 'pwd') senza parametri aggiuntivi usa anche il filter predefinito. Quindi non c'è alcuna differenza.

Tutti i dati inviati dal client (come i dati POST) devono essere disinfettati e sfuggiti (e anche meglio controllati da integrità mentale) per garantire che non possa uccidere il tuo sito web.

SQL Injection e Cross-site scripting sono le due principali minacce per non riuscire a disinfettare i dati inviati dall'utente.

Non è meglio

Si prega di consultare i documenti su filter_input http://www.php.net//manual/en/function.filter-input.php

e fai clic sul link "Tipi di filtri". http://www.php.net/manual/en/filter.filters.php

Ho sempre e solo usato il filter integer …

 $user_id = filter_input(INPUT_POST, 'user_id', FILTER_SANITIZE_NUMBER_INT); $user = abs($user_id); // To get rid of any +/-