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