javascript - 如果用户在客户端更改 html/javascript 变量,如何防止黑客攻击?

标签 javascript

使用 FireBug 这样的简单工具,任何人都可以更改客户端的 JavaScript 参数。如果有人花时间研究您的应用程序一段时间,他们可以了解如何更改 JS 参数,从而攻击您的网站。

例如,一个简单的用户可以删除他们看到但不允许更改的实体。我知道一个好的开发人员必须检查服务器端的所有内容,但这意味着更多的开销,您必须首先检查数据库中的数据,以便验证请求。这需要花费大量时间,对于每个操作都必须有人验证它,并且只能通过从数据库获取所需的数据来完成此操作。

在这种情况下,您会采取什么措施来最大程度地减少黑客攻击?

更简单的验证方法是为每个 JavaScript 函数添加另一个参数,该参数必须是先前参数和 key 之间的签名。

您认为上述解决方案听起来怎么样?

我们的团队使用 teamworkpm.net 来组织我们的工作。我刚刚发现我可以通过更改 JavaScript 函数(最初编辑我自己的任务)来编辑其他人的任务。

最佳答案

当每个函数调用服务器时,在服务器端执行操作之前,您需要检查是否允许该用户执行此操作。

有必要建立服务器端权限机制来防止不必要的操作,您可能希望定义用户组,而不是单个用户级别,这样更容易。

关于javascript - 如果用户在客户端更改 html/javascript 变量,如何防止黑客攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186748/

相关文章:

javascript - Bluebird JS : Make a function run in parallel

javascript - Jquery 文本更改事件

javascript - ES6 - 生成一个数字数组

javascript - 如何保存应用程序的登录次数?(nodejs,JS,mongodb)

javascript - jQuery:从字符串类型转换为$.each中的字符串对象

javascript - HTML 5音频自定义控件

javascript - Ajax 读取 JSON - 无法读取未定义的属性 'name'

javascript - 仅使用 ReactJS 专注于自定义模式

javascript - 想把处理类型改成js

javascript - 如何用Jasmine编写参数化测试?