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 +/-