Stavo aggiornando del codice PHP seguendo il consiglio di non usare più $_GET
e $_POST
ma invece di passare alle funzioni filter_input()
più sicure.
Pensavo che quella funzione mi avrebbe salvato in questo stupido caso:
<?php
eval($_GET["var"]);
?>
che quando chiamato come localhost/test.php?var=phpinfo();
sputa l'intera pagina di informazioni PHP. Quindi l'ho cambiato in:
<?php
eval(filter_input(INPUT_GET, "var", FILTER_SANITIZE_STRING));
?>
Tuttavia sembra che quanto sopra sia ancora vulnerabile allo stesso attacco.
Quale dovrebbe essere il modo corretto di proteggere eval()
nel caso precedente?