使用“和”重定向到网址

时间:2012-11-20 16:53:51

标签: php redirect

嗨,我的链接有“和”,例如:http://site.com/?sd=text&sery=&son="><ic=x onerror="

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.com/?sd=text&sery=&son="><ic=x onerror=");
exit;
?>

如何正确编写脚本?

1 个答案:

答案 0 :(得分:6)

你必须使用php的urlencode()函数对其进行url编码。这是在查询字符串中对键和值进行编码的正确方法。您还必须使用前导反斜杠转义引号,以便将它们包含在双引号字符串文字中。试试这个:

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://site.com/?sd=text&sery=&son=" . urlencode("\"><ic=x onerror=\""));
exit;
?>

或者,在这种情况下,您可以单引用字符串文字,这将消除转义双引号的需要。注意:如果单引号字符串,则字符串中出现的任何撇号字符都需要使用前导反斜杠进行转义。尽管有问题的标题和描述,但我在你的例子中没有看到任何内容。

<?
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://site.com/?sd=text&sery=&son=' . urlencode('"><ic=x onerror="'));
exit;
?>