'在URL GET参数标识符中的存在

时间:2013-05-29 07:02:44

标签: php url get query-string

如果我有这样的网址:

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参数?

谢谢!

1 个答案:

答案 0 :(得分:0)

'作为查询字符串键不是很好的练习,但你可以对其进行url_encode,或者将其转义。

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

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

总的来说,你应该避免将撇号完全放在querystring键中:)