Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当register_global打开时访问全局变量_Php - Fatal编程技术网

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