我刚刚在使用 firebug 测试 onClick 函数时意识到,用户可以很容易地更改正在传递的参数的值。这可能会搞砸。
有什么简单的方法可以防止这种情况发生,尤其是在需要传递参数时?
我刚刚在使用 firebug 测试 onClick 函数时意识到,用户可以很容易地更改正在传递的参数的值。这可能会搞砸。
有什么简单的方法可以防止这种情况发生,尤其是在需要传递参数时?
是不可能的。该代码正在用户的计算机上执行。他们在控制之中。
如果他们对其进行编辑并“搞砸”,那就在他们头上。
如果他们编辑它并向您的服务器提交 HTTP 请求,并且您的服务器允许(例如)该请求删除属于另一个用户的数据,那么问题是您的服务器没有检查提交请求的用户是否具有权限在执行之前删除该数据。
您不能信任从客户端发送的任何内容。用户可能会手动编辑 URL 参数,或者脚本小子甚至可以根本不使用浏览器向您发送请求。您必须在服务器端验证所有内容。
一旦脚本被加载到客户端的机器上。他可以随心所欲地使用/修改它。
我建议在处理结果的地方(客户端/服务器)根据预期的一组值和/或业务规则验证参数。理想情况下,验证检查发生在用户无法控制的服务器上。甚至可以修改客户端的验证以允许输入无效数据。
没有办法完全控制它 - 只能根据标准对其进行验证。
您无法阻止此操作,因为 JavaScript 是客户端。你也永远不能相信客户。
您应该在服务器端对任何请求进行验证,以保护您的数据免受客户端滥用。
您可以使用 .delegate()以某种方式使其隐藏在客户眼中
前任。
$("table").delegate( "td","click", function() {<br>
// write here your function<br>
});
客户可以执行这个脚本,但它不是直接在他的眼前..