如何防止修改AJAX请求

问题描述 投票:0回答:2

有没有人知道如何防止AJAX请求劫持/修改?

由于javascript在网站源代码中是公开的,是否可以操纵发送的数据,f.i ?.

$.ajax({
    url: endpoint/url,
    data: {
        id: 523658,
        fragile_data: 'it should stay constant'
    }
});
javascript ajax security
2个回答
3
投票

由于您无法控制客户端,因此永远不要信任客户端。 您可以(并且必须)做的就是验证服务器端的数据,并可能验证用户身份。


0
投票

没有办法

作为标准安全原则的一部分,您应始终假设来自客户端的任何信息都不可信任。必须首先通过过滤器并检查以确保它符合特定规格。例如,如果您要求提供电子邮件地址和密码,则应始终在发送前对字段进行编码,然后检查字段服务器端以确保其实际符合电子邮件地址语法。你也应该修剪任何额外的角色,这样你就不会成为经典失误之一的牺牲品

[email protected]"; DROP TABLE Users; --

这同样适用于AJAX请求。始终清理您的输入并始终检查返回的任何ID是否合法(如果它们应该可能与查找项匹配)。

如果你的时间很短,你可以获得一些免费和开源的外部插件或框架,以帮助防止对客户端验证器等字段的攻击(确保电子邮件在提交之前在某个字段中等等) 。)以及检查服务器端的项目以防止XSS和SQLi攻击等。这些插件并不完美,但它们会为您完成很大一部分工作,并允许您加快处理速度

© www.soinside.com 2019 - 2024. All rights reserved.