如果我有这样的网址:
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参数?
谢谢!
答案 0 :(得分:0)
'作为查询字符串键不是很好的练习,但你可以对其进行url_encode,或者将其转义。
至于将它放入变量名中,它将是一个无效字符。 变量名(和数组键)只能包含字母数字字符和下划线。 此外,它们也不应该以数字开头。
在某些情况下,撇号可以用作将代码注入PHP脚本的方法。
总的来说,你应该避免将撇号完全放在querystring键中:)