繁体   English   中英

如何防止修改AJAX请求

[英]How to prevent modifying AJAX request

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

由于javascript在网站源代码中是公开的,因此可以操纵发送的数据fi吗?

$.ajax({
    url: endpoint/url,
    data: {
        id: 523658,
        fragile_data: 'it should stay constant'
    }
});

由于您无法控制客户端,因此请不要信任客户端
您所能(且必须要做的)是在服务器端验证数据并可能对用户进行身份验证。

没有办法

作为标准安全性原则的一部分,您应始终假定来自客户端的任何信息均不可信任。 它必须首先通过过滤器并进行检查,以确保它符合特定的规范。 例如,如果您要求提供电子邮件地址和密码,则应始终在发送之前对字段进行编码,然后检查字段服务器端以确保它实际上符合电子邮件地址语法。 您还应该修剪掉所有多余的字符,以免成为经典错误之一的受害者,例如

test.user@email.com"; DROP TABLE Users; --

这同样适用于AJAX请求。 始终清理您的输入,并始终检查返回的所有ID是否合法(如果可以的话,还可以与查找项匹配)。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM