2

全部。我想分享我的代码中发生的一些问题。我有一个使用 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个数据保存在数据库中。我的问题是,如何克服这个问题?有什么方法可以更好地限制这种情况吗?首先,感谢您的回答

4

2 回答 2

4

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

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

从用户界面的角度来看,客户端验证是一个极好的工具。它可以更早地发现错误,并且在正确实施时可以减少用户的挫败感。

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

于 2012-11-05T01:40:15.263 回答
2

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

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

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

于 2012-11-05T01:41:21.160 回答