必填字段:html5属性或php控件

必填字段:html5属性或php控件,php,html,attributes,Php,Html,Attributes,当我必须验证表单并且需要所有字段都不是空的时候,通常我使用PHP empty()函数。如果我只使用html5属性“required”呢?这对表单安全(黑客表单)是足够好还是不够好?简单回答:两者都用 更长的答案 客户端验证可以很容易地被覆盖。你不应该依赖它它应仅用于用户增强功能。使用现代浏览器的用户将享受这样的体验:浏览器告诉他字段是必需的,而不必提交表单并丢失所有内容但它不应该是您唯一的验证方法 您应该始终验证来自服务器端客户端(用户)的每一条信息。用户的输入不可信,所有客户端验证都在客户端

当我必须验证表单并且需要所有字段都不是空的时候,通常我使用PHP empty()函数。如果我只使用html5属性“required”呢?这对表单安全(黑客表单)是足够好还是不够好?

简单回答:两者都用


更长的答案 客户端验证可以很容易地被覆盖。你不应该依赖它它应仅用于用户增强功能。使用现代浏览器的用户将享受这样的体验:浏览器告诉他字段是必需的,而不必提交表单并丢失所有内容但它不应该是您唯一的验证方法


您应该始终验证来自服务器端客户端(用户)的每一条信息。用户的输入不可信,所有客户端验证都在客户端。这意味着客户端可以控制和绕过它们。

简短的回答:两者都使用


更长的答案 客户端验证可以很容易地被覆盖。你不应该依赖它它应仅用于用户增强功能。使用现代浏览器的用户将享受这样的体验:浏览器告诉他字段是必需的,而不必提交表单并丢失所有内容但它不应该是您唯一的验证方法


您应该始终验证来自服务器端客户端(用户)的每一条信息。用户的输入不可信,所有客户端验证都在客户端。这意味着客户端可以控制和绕过它们。

您需要在两侧应用验证。 在客户端使用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.
     }
?>

过滤特殊符号

<?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,您的服务器端代码将保护您。

您需要在两侧应用验证。 在客户端使用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.
     }
?>

过滤特殊符号

<?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,您的服务器端代码将保护您。

如果访问者浏览器不理解html5的required属性,该怎么办?您还必须验证服务器端!:)如果访问者浏览器不理解html5的required属性怎么办?您还必须验证服务器端!:)真的明白…我觉得你的回答很恰当…谢谢lot@Cloud如果这个答案解决了你的问题,考虑通过点击问题的得分下的绿色大刻痕来接受它。这表明我的答案是正确的,你的问题已经解决了:)。真的理解。我觉得你的答案非常合适。谢谢lot@Cloud如果这个答案解决了你的问题,考虑通过点击问题的得分下的绿色大刻痕来接受它。这表明我的回答正确,你的问题已解决:)。