Estaba actualizando algunos códigos PHP siguiendo el consejo de no usar más $_GET
y $_POST
, sino que, en cambio, cambiar a las funciones filter_input()
más seguras.
Estaba pensando que la función me salvaría en este estúpido caso:
<?php
eval($_GET["var"]);
?>
que cuando se llama como localhost/test.php?var=phpinfo();
escupe toda la página de información de PHP. Así que lo cambié a:
<?php
eval(filter_input(INPUT_GET, "var", FILTER_SANITIZE_STRING));
?>
Sin embargo, parece que lo anterior sigue siendo vulnerable al mismo ataque.
¿Cuál debería ser la forma correcta de asegurar el eval()
en el caso anterior?