Forse sto sbagliando qualcosa perché io sto utilizzando le espressioni regolari per limitare i caratteri inseribili dall'utente ma se inserisco delle istruzioni php queste vengono eseguite!
Vi faccio un esempio: ho creato un campo in cui inserire un codice di controllo a 5 cifre, solo numeri o lettere minuscole, quindi nel file php scrivo:
Codice PHP:
session_start();
$code = $_GET['code'];
$pattern = "/[a-z0-9]{5}/";
if (preg_match($pattern,$code)) {
if($code == $_SESSION['captcha']) {
echo "true";
}
else {
echo "false";
}
}
else {
echo "false";
}
Il codice funziona ma se nel campo input inserisco:
Codice PHP:
$code = "12345";
allora mi ritorna true.
Non capisco come fare per evitare che il codice php venga letto.