当我必须验证一个表单并且需要所有字段都不为空时,我通常使用PHP empty()函数。如果我只使用html5属性“required”怎么办?表单安全性(黑客形式)是否足够或不好?
答案 0 :(得分:4)
答案简短:同时使用!
可以轻松覆盖客户端验证。你不应该依赖它。 它只应用于用户增强功能。拥有现代浏览器的用户将享受浏览器告诉他需要该字段而不必提交表单并丢失所有内容的体验。 但它不应该是您唯一的验证方法。
您应始终验证来自服务器端客户端(用户)的每条信息。用户的输入不可信,所有客户端验证都在客户端。这意味着客户可以控制和绕过它们。
答案 1 :(得分:0)
您需要同时应用验证。 在客户端使用HTML5或javascript。在服务器端代码尝试检查输入值,并像这样过滤文本框的输入。 在服务器端过滤:
仅删除空格
<?php
if(strlen(trim($_POST["input"]))>0){
your code here.....
}
else{
show error here.
}
?>
过滤特殊符号
<?php
if(strlen(mysql_real_escape_string($_POST["input"]))>0){
your code here.....
}
else{
show error msg here.
}
?>
基本上你需要双方都做。
如果用户从浏览器中删除JavaScript,则服务器端代码会保护您...