使用 FireBug 这样的简单工具,任何人都可以更改客户端的 JavaScript 参数。如果有人花时间研究您的应用程序一段时间,他们可以了解如何更改 JS 参数,从而攻击您的网站。
例如,一个简单的用户可以删除他们看到但不允许更改的实体。我知道一个好的开发人员必须检查服务器端的所有内容,但这意味着更多的开销,您必须首先检查数据库中的数据,以便验证请求。这需要花费大量时间,对于每个操作都必须有人验证它,并且只能通过从数据库获取所需的数据来完成此操作。
在这种情况下,您会采取什么措施来最大程度地减少黑客攻击?
更简单的验证方法是为每个 JavaScript 函数添加另一个参数,该参数必须是先前参数和 key 之间的签名。
您认为上述解决方案听起来怎么样?
我们的团队使用 teamworkpm.net 来组织我们的工作。我刚刚发现我可以通过更改 JavaScript 函数(最初编辑我自己的任务)来编辑其他人的任务。
最佳答案
当每个函数调用服务器时,在服务器端执行操作之前,您需要检查是否允许该用户执行此操作。
有必要建立服务器端权限机制来防止不必要的操作,您可能希望定义用户组,而不是单个用户级别,这样更容易。
关于javascript - 如果用户在客户端更改 html/javascript 变量,如何防止黑客攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186748/