我想知道进行可靠表单验证的最佳方法是什么。
JavaScript 做得很好,但它不是可靠验证的基础,因为它可以被操纵甚至禁用。
如果您使用 PHP 检查数据并在发生错误时重新填充表单,则 post 表单存在几个问题。
- 如果表单显示没有重定向,那么如果用户想重新发送数据,F5会显示一个确认框,这不是很漂亮。
- 如果用户再次被重定向到表单,则数据必须由
GET
or提交POST
。有了POST
,又出现了上面提到的 F5 问题。用GET
, 用 inside 传递值时存在问题&
(PHP猜测符号后面的另一个参数) - 第三种方法是将数据存储在数据库中,例如 SUBMITTRIALS 或类似的东西。但是你实际上必须在重定向后清除数据。
另一个问题伴随着表单本身的重新填充:像这样的代码:
echo "<input type='text' value='".$val."' />";
如果变量$val
包含一个包含撇号的值,这是一个很大的问题,这会生成无效的 HTML。
如您所见,在表单验证场景中有很多失败的可能性。如顶部所述,处理表单验证的最可靠方法是什么?