Расположение заголовка PHP с параметром - PullRequest
2 голосов
/ 25 марта 2012

Можно ли добавить параметр в расположение заголовка PHP?У меня проблемы с тем, чтобы заставить его работать.Разрешен ли этот синтаксис?

$qry = $_SERVER['QUERY_STRING'];
header('Location: http://localhost/blast/v2/?$qry ') ;

он просто не заменит $ qry с его фактическим значением .... почему ??

в браузере выглядит так:

http://localhost/blast/v2/?$qry

спасибо

Ответы [ 4 ]

14 голосов
/ 25 марта 2012

Измените одинарные кавычки на двойные:

header("Location: http://localhost/blast/v2/?$qry");

Строка с одинарными кавычками в PHP обрабатывается как строковый литерал , который не анализируется для переменных.Строки в двойных кавычках анализируются для переменных, поэтому вы получите то, что $qry содержит добавленный, вместо буквально $qry.

2 голосов
/ 25 августа 2018

Я знаю, что это очень старый пост, но, пожалуйста, не делайте этого. Параметры в заголовке XSS уязвимы. Подробнее о XSS можно прочитать здесь: owasp.org / index.php / Cross-site_Scripting_ (XSS)

2 голосов
/ 22 января 2014

Вы также можете добавить несколько параметров через заголовок, например:

$divert=$row['id']."&param1=".($param1)."&param2=".($param2);
header("Location:showflagsab.php?id=$divert");

, который добавляет два дополнительных параметра к исходному идентификатору

Их можно извлечь, используя метод $get в месте назначения

0 голосов
/ 19 июня 2019

wiles Как исправить XSS-атаку на локацию заголовка

$param = $_REQUEST['bcd'];
header("Location: abc.php/?id=$param");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...