【问题标题】:HTML5 Validation vs PHP ValidationHTML5 验证与 PHP 验证
【发布时间】:2011-12-07 19:11:41
【问题描述】:

何时进行表单验证,哪种方法最好?使用 HTML5,您可以验证电子邮件地址和电话号码,但通常我会使用 PHP 来验证,那么哪种方法更好?还是应该验证 HTML5 和 PHP 中的输入?

【问题讨论】:

  • 你应该总是验证服务器端,其余的主要是为了可用性(你永远不能依赖客户端验证)
  • 用标记语言验证?
  • @webarto: "用标记语言验证?":是的,这是可能的,而且是“未来”。有关详细信息和示例,请参阅this article。

标签: php html validation


【解决方案1】:

两者都有。

经验法则:
验证客户端,为用户提供更好的体验。
验证服务器端以确保您收到的数据 100% 符合您的预期。

【讨论】:

    【解决方案2】:

    始终使用服务器端编程语言进行验证,此外您还可以使用客户端验证。这样做的原因是一切都可以在客户端进行修改,从而绕过任何客户端验证。这甚至不难,而且有很多工具可供人们修改 html 和/或 Javascript 以提交他们想要的任何内容。

    黄金法则是,永远不要相信用户。做好最坏的打算并为此做好准备。您可以并且应该使用诸如 firebug 或其他网络开发者工具之类的工具来进行尝试。

    【讨论】:

      【解决方案3】:

      你应该两者都做。在客户端进行 HTML5 和/或 JavaScript 验证以节省用户的页面加载,以及 PHP 验证,因为您永远无法完全信任客户端。

      【讨论】:

        【解决方案4】:

        我两个都喜欢。填写表格以在不匹配时收到通知是很好的。但是你不能依赖 JS 验证,因为它很容易被绕过,所以需要服务器端。

        【讨论】:

          【解决方案5】:

          答案都是正确的。不是一种偏好(正如一些人所说),而是一种要求。所有 HTML(包括 HTML5)都可以通过浏览器直接在您的页面上进行编辑。就像使用 Firebug 编辑此页面的标题一样,您可以编辑 HTML 输入验证器,如果它们没有服务器端验证,它将接受您输入的任何内容。仅使用 HTML5 处理验证就像邀请黑客破坏您的所有数据库表。你想要吗?

          我发现这个愚蠢家伙网站上的最后一条评论就是一个明显的例子:http://demosthenes.info/blog/462/Goodbye-JQuery-Validation-HTML5-Form-Errors-With-CSS3

          【讨论】:

            【解决方案6】:

            大多数专业程序员都有使用服务器端脚本语言验证输入字段的方法。使用 PHP 的服务器端表单验证在很多方面都优于 HTML5 和客户端表单验证:

            1. HTML5 包含一些自动验证输入字段的属性,例如:电子邮件、电话等。这些属性是有限的。而在现实世界中,有许多表单的某些字段无法通过 HTML5 直接验证。

            2. 如果您正在考虑使用 javscript 作为第二个选项的客户端验证,请记住可以在浏览器中关闭 javascript。所以它最终会影响用户体验。所以最好通过像 PHP 这样的服务器端脚本语言来验证你的表单。

            3. 对于包含敏感数据的网站,您应该采用上述方法。但是

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-06-12
              • 2012-03-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2023-03-19
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多