Помещение неанизированных данных в функцию header ()

Могу ли я оставить свой сайт уязвимым для атак, не фильтруя данные внутри перенаправления заголовка?

Например:

$foo = $_GET['foo'];

header("Location: /bar.php?foo=$foo");

die();

если ответ «да», то какие это типы атак, и является ли просто спасение данных надежным решением?

$foo = $_GET['foo'];

$foo = htmlentities($foo);

header("Location: /bar.php?foo=$foo");

die();

0

Решение

Параметры URL не выполняются, поэтому вы не открываете себя для атаки. Однако невозможность кодирования данных может привести к неверной интерпретации параметра. Вы должны использовать urlencode():

$foo = urlencode($foo);
header("Location: /bar.php?foo=$foo");
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]