PHP - 在客户端限制发布数据失败

时间:2012-11-05 01:36:37

标签: php javascript validation

所有。我想分享一些在我的代码中发生的问题。我有一个HTML表单,使用php发布并保存到mysql数据库。如果数据总数不是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。 我的问题是,如何克服这个问题?有没有什么方法可以更好地限制这种情况? 首先,感谢您的回答

2 个答案:

答案 0 :(得分:4)

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

您并没有真正控制客户端,因此如果关闭javascript或某人将自定义查询放在一起,或者客户端表现不正常,则可能会收到错误的数据。

从用户界面的角度来看,客户端验证是一个很好的工具。它可以提前发现错误,如果正确实施,可以减少用户的挫败感。

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

答案 1 :(得分:2)

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

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

这将确保数据符合您的验证。