哪个更安全? PHP_SELF或“”

问题描述:

通常在PHP发布形式,当我使用哪个更安全? PHP_SELF或“”

<form action="" method="POST"> 
//somtehing something 
</form> 

但在最后几个小时,同时上网计算器我遇到了两个不同的线程这两个声称一个方法比其他更安全。现在我很困惑哪一个是稳妥的方法

First post被声称形式

action="" 

是重于形式更为安全

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

现在我很困惑哪一个,我应该去。我请一些高级成员在这里提出这个问题。并且请解释一下,如果我使用一种方法而不是另一种方法,那么为什么它更安全

+0

'action =“'或'' – 2014-09-06 17:53:22

+0

为了公平,没有一个答案解释了PHP_SELF如何被利用。我添加了一个答案,试图这样做:http://*.com/a/25703224/387347 – 2014-09-06 18:04:23

如MrTux所述,首选方法是将action属性留空。

使用$_SERVER['PHP_SELF']$_SERVER['REQUEST_URI']填充它的选项将使跨脚本的脚本处于打开状态。

阅读MrTux的评论以获取更多详细信息。

所以,只需将动作属性从表单标记中完全排除出去,表单标记会自动默认为当前页面,并且您会没事的。

+0

嗯,实际上有。如果您只是在PHP中使用'''action =“ MrTux 2014-09-06 17:28:25

+0

@MrTux你说什么对REQUEST_URI是真实的,但PHP_SELF不包括变量。 – Boann 2014-09-06 17:31:28

+1

Your're right;),但它不能解决问题。在末尾添加''''/“> MrTux 2014-09-06 17:33:20