Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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_SELF或“”_Php_Security - Fatal编程技术网

哪个更安全?PHP_SELF或“”

哪个更安全?PHP_SELF或“”,php,security,Php,Security,通常在用php发布表单时,我使用 <form action="" method="POST"> //somtehing something </form> 它比形式更安全 action="<?$_SERVER['PHP_SELF']" 现在我不知道该选哪一个。我请在座的一些资深议员就这一议题提出一些看法。另外,请解释一下,如果我使用一种方法而不是另一种方法,那么为什么它更安全,正如MrTux所说,首选的方法是将action属性保留为空 使用$\u SERVER[

通常在用php发布表单时,我使用

<form action="" method="POST">
//somtehing something
</form>
它比形式更安全

action="<?$_SERVER['PHP_SELF']"

现在我不知道该选哪一个。我请在座的一些资深议员就这一议题提出一些看法。另外,请解释一下,如果我使用一种方法而不是另一种方法,那么为什么它更安全,正如MrTux所说,首选的方法是将action属性保留为空

使用$\u SERVER['PHP\u SELF']或$\u SERVER['REQUEST\u URI']填充脚本的选项将使脚本为跨站点脚本打开

请阅读MrTux的评论以了解更多详细信息


因此,只需将action属性完全从表单标签中删除,表单标签将自动默认为当前页面,您就可以了。

事实上确实存在。如果您只使用action=@MrTux,那么您所说的对于请求URI是正确的,但是PHP_SELF不包含变量。您是对的;,但这并不能解决问题。只需添加/>alertevil@哇!接得好@MrTux确实是一个很好的陷阱。。。添加您的答案,我将删除此答案。我总是使用空操作,但从未考虑过实际使用php_self的跨站点脚本含义。如果你不愿意添加你的答案,我会用你的信息编辑我的答案,这样这个问题就有一个可靠的答案。再一次:漂亮的捕获..动作=公平地说,没有一个答案解释了PHP_SELF是如何被利用的。我添加了一个答案,试图这样做:
action="<?$_SERVER['PHP_SELF']"