PHP XSS问题-在页面上不输出任何内容的GET参数是否存在风险?

PHP XSS问题-在页面上不输出任何内容的GET参数是否存在风险?,php,security,xss,Php,Security,Xss,好吧,我只是想知道,这是否一定是XSS漏洞,因为它不会输出结果 例如: if($_GET['doRedirect'] == "yes") { //redirect Page } else { //dont redirect page } 然后 我已经阅读了所有XSS的内容,并认为我对它有很好的理解,尽管现在我有点困惑只有当用户输入输出到页面上时,才可以使用XSS吗? 非常感谢:)那应该是安全的 只有在页面上实际输出用户生成的内容时,才能进行跨站点脚本编写 例如,如果您将用户名作为get参数n

好吧,我只是想知道,这是否一定是XSS漏洞,因为它不会输出结果

例如:

if($_GET['doRedirect'] == "yes") {
//redirect Page
} else {
//dont redirect page
}
然后

我已经阅读了所有XSS的内容,并认为我对它有很好的理解,尽管现在我有点困惑只有当用户输入输出到页面上时,才可以使用XSS吗?

非常感谢:)

那应该是安全的

只有在页面上实际输出用户生成的内容时,才能进行跨站点脚本编写

例如,如果您将用户名作为get参数
name
,并执行以下操作:

<?php
echo "Hello, {$_GET['name']}. How are you today?";
?>
应该是安全的

只有在页面上实际输出用户生成的内容时,才能进行跨站点脚本编写

例如,如果您将用户名作为get参数
name
,并执行以下操作:

<?php
echo "Hello, {$_GET['name']}. How are you today?";
?>

假设您仅在该
if
语句中使用
doRedirect
输入参数,而不使用其他参数,则它是不可攻击的

如果你要做这样的事情,那么是的,它会很脆弱:

if($_GET['doRedirect'] == "yes")
{
  //redirect Page
}
else
{
  //dont redirect page

  // Create message to display in the browser
  $messageToUser = 'You selected '.$_GET['doRedirect'].' for your redirection';
}

在这种情况下,您应该对输入执行验证。

假设您仅在该
if
语句中使用
doRedirect
输入参数,而不使用任何其他参数,则该参数不可用

如果你要做这样的事情,那么是的,它会很脆弱:

if($_GET['doRedirect'] == "yes")
{
  //redirect Page
}
else
{
  //dont redirect page

  // Create message to display in the browser
  $messageToUser = 'You selected '.$_GET['doRedirect'].' for your redirection';
}
在这种情况下,您应该对输入执行验证