0

如果我有这样的 URL:

http://www.example.com/app.php?aa=10&bb=20

<?php
echo $_GET["aa"]; //no problems
echo $_GET["bb"]; //no problems
?>

http://www.example.com/app.php?'aa=10&bb=20

'前面有什么aa作用?在 GET 变量标识符中使用'是非法的吗?

<?php
echo $_GET["'aa"]; //problem!
echo $_GET["bb"]; //no problems
// echo $_GET["aa"];  Also a problem
?>

这是否意味着'aa在第二种情况下它甚至不考虑作为 GET 参数?

谢谢!

4

1 回答 1

0

'a 作为查询字符串键不是很好的做法,但是您可以对其进行 url_encode 或转义。

至于把它放在变量名中,那将是一个无效字符。变量名(和数组键)只能包含字母数字字符和下划线。此外,它们也不应该以数字开头。

在某些情况下,撇号可以用作将代码注入 PHP 脚本的一种方式。

总的来说,您应该避免在查询字符串键中完全使用撇号:)

于 2013-05-29T07:06:00.733 回答