有没有人知道在PHP表单的操作中不使用同一页面的优点(或安全原因)。
所以这是指定为action的当前页面:
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
这里也是通过PHP的超级全局
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
答案 0 :(得分:3)
出于安全原因,您不应以这种方式使用$_SERVER["PHP_SELF"]
。这是因为您打印包含所有参数的完整路径到您的站点,并且您有XSS问题。
如果您想将表单发送到同一网站,可以非常简单地使用#
。
<form action="#" method="post">
或输入完整的文件名,以防止将所有参数添加到您的网站。
这是另一篇Post如何保护该部分。