【问题标题】:PHP - Restricting post data at client side failedPHP - 在客户端限制发布数据失败
【发布时间】:2012-10-24 20:41:21
【问题描述】:

全部。我想分享我的代码中发生的一些问题。我有一个使用 php 发布并保存到 mysql 数据库的 HTML 表单。如果数据总数不是100,我会给出一个验证表,它不能发布。我使用 javascript 在客户端或 HTML 中执行此限制。 像这样:

$("#submit").click(function(event) {

                    var total_I     = $("#total_I").val();
                    var total_III   = $("#total_III").val();
                    var total       = 0;
                    /* stop form from submitting normally */
                   if($("#eval-form").validate().form())
                   {

当我们做一些测试计划时,它工作得很好。但是当这个网站启动并一次访问大约500个用户时,有一些数据少于100个数据保存在数据库中。 我的问题是,如何克服这个问题?有什么方法可以更好地限制这种情况吗? 首先,感谢您的回答

【问题讨论】:

    标签: php javascript validation


    【解决方案1】:

    如果我要写一本关于网络安全的书,标题应该是“永远不要相信客户”。

    您并不能真正控制客户端,因此如果关闭了 javascript 或有人将自定义查询放在一起,或者如果客户端的行为不正确,您可能会得到错误的数据。

    从用户界面的角度来看,客户端验证是一个出色的工具。它可以更早地发现错误,并且如果实施得当,可以减少用户的挫败感。

    作为一种安全或策略执行措施,客户端验证毫无用处。您必须检查您在服务器端实际收到的数据,即使这意味着复制在客户端完成的工作。

    【讨论】:

    • 相同的概念,但我有点慢:)
    • 你应该写那本书 :).. 谢谢。很棒的答案,我现在才意识到。我将在我的 php 代码中进行验证。
    【解决方案2】:

    当您使用 Jquery 进行验证时,客户端最好在服务器端也替换它。

    因此,在 PHP 中的脚本(我假设它构成您的标签)上,您可以插入数据的第二次验证。

    这将确保数据遵循您的验证。

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 2011-08-24
      • 2014-11-20
      • 1970-01-01
      • 2019-12-21
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多