Php 当register_global打开时访问全局变量
对于测试,我打开全局寄存器Php 当register_global打开时访问全局变量,php,Php,对于测试,我打开全局寄存器 <form> <input type="text" name="txt_name"> <input type="submit" value="Submit"> </form> 如果register global是o,那么我知道使用print\u r($\u POST['txt\u name']) 但现在全球注册处于(1)状态 如何获取文本字段值 建议为什么变量名中有+符号?它应该是print\u r($txt\u n
<form>
<input type="text" name="txt_name">
<input type="submit" value="Submit">
</form>
如果register global是o,那么我知道使用print\u r($\u POST['txt\u name'])
但现在全球注册处于(1)状态
如何获取文本字段值
建议为什么变量名中有
+
符号?它应该是print\u r($txt\u name)
如果register global是o,那么我知道使用print\u r($\u POST['txt\u name']),
但现在全球注册处于(1)状态,
如何获取文本字段值,
要直接回答所提出的问题:
register\u globals
所做的一切就是创建一份作为全局提交的每个GPC值的副本。$\u POST
、$\u GET
、$\u REQUEST
和$\u COOKIE
数组不会消失 谢谢,genrally的人说,在安全透视注册表中,global on是危险的,你能告诉我,为什么危险,黑客如何插入恶意值,这是因为有人可以像这样向你的脚本传递值:index.php?name=something
。如果您实际上碰巧在程序中使用了$name
作为变量,而您忘记了初始化它,那么最终将得到用户传入的任何值。是的,但是您看到这个问题将发生在GET方法上,而不是post方法。我说的对吗?它与该方法无关,您甚至不需要提交表单就可以做到这一点。用户只需将?variable_name=value
附加到任何URL。。。。或者将其添加到表单中,或者将其作为cookie添加。请注意,PHP开发人员已经声明,他们将在未来的版本中删除register\u globals
。不要依赖它,也不要在新代码中使用它。是的,chales,,但我只是想知道它背后的历史,,,谢谢
print_r($+txt_name);
//Parse error: parse error, expecting T_VARIABLE' or
'$'' in F:\wamp\www\sample1 \register_globals.php on line 7