表单处理有什么好处? (安全/快)
布局表格:
<form id="myForm" name="frm1" action="insert.php" method="post">
<textarea name="content" id="content" cols="35" rows="5"></textarea>
<INPUT type=submit value="submit" name=submit></form>
插入php:
<?php
if (( 'POST' == $_SERVER['REQUEST_METHOD'])) {
//php validation code
} else {
exit();
}
?>
或
<?php
if (!isset($_POST['submit'])) {
//php validation code
} else {
exit();
}
?>
答案 0 :(得分:1)
第二个,绝对是。它更具可读性。甚至更合乎逻辑
<?php
if (isset($_POST['submit'])) { //php validation code
//do something
}
else
{
exit();
}
?>
答案 1 :(得分:1)
您通常应该检查您要处理的数据是否存在。除此之外,您的第二种方法是首选,但不要假设人们会点击您的提交按钮。
在我看的时候,我还有其他一些笔记。您应该真的关闭<input>
标记,并在其末尾添加/>
。
此外,虽然您可以进行('POST' == $_SERVER['REQUEST_METHOD'])
之类的比较,但按顺序编写它们毫无意义。像这样翻转它:($_SERVER['REQUEST_METHOD'] == 'POST')
答案 2 :(得分:1)
速度与此无关。在安全性方面,这两个代码是不同的......
if (( 'POST' == $_SERVER['REQUEST_METHOD']))
{//php validation code
}
else
{exit();}
在这里,您正在测试您的网页的请求方法是否已发布,然后您进行验证。
if (!isset($_POST['submit']))
{//php validation code
}
else
{exit();}
在这里,您正在测试具有“提交”键的帖子值中是否存在值。您假设某个字段具有此名称,但这不一定是真的。您可以使用名为“submit”的任何字段包含帖子值。
这里真正的安全问题是您的验证测试。
答案 3 :(得分:0)
if (!isset($_POST['submit']))
{//php validation code
}
else
{exit();}
第二个对我更有意义。
答案 4 :(得分:0)
第二个答案是最好的,因为您只是检查提交按钮。另一个是检查一个帖子。