Javascript 使AJAX调用安全

Javascript 使AJAX调用安全,javascript,ajax,Javascript,Ajax,如果用户查看我的JavaScript文件,复制函数内容并使用AJAX向我的服务器发送请求,会发生什么情况?有什么方法可以防止这种情况发生吗?防止这种情况发生的方法与防止任何web请求的方法没有什么不同。您这样做是为了使您的站点需要某种形式的身份验证(即用户必须登录),并且如果请求没有得到正确的身份验证,就不做任何事情 通常,当您发出AJAX请求时,Cookie也会随请求一起发送,因此您应该能够使用与常规请求相同的身份验证方法来处理AJAX请求。根据codeka,没有任何方法可以阻止某人创建与Ja

如果用户查看我的JavaScript文件,复制函数内容并使用AJAX向我的服务器发送请求,会发生什么情况?有什么方法可以防止这种情况发生吗?

防止这种情况发生的方法与防止任何web请求的方法没有什么不同。您这样做是为了使您的站点需要某种形式的身份验证(即用户必须登录),并且如果请求没有得到正确的身份验证,就不做任何事情


通常,当您发出AJAX请求时,Cookie也会随请求一起发送,因此您应该能够使用与常规请求相同的身份验证方法来处理AJAX请求。

根据codeka,没有任何方法可以阻止某人创建与Javascript请求中相同的Ajax查询。跨域保护不一定会保护您,因为如果他们愿意,他们可以在您站点的页面上为自己在地址栏中键入Javascript

您所拥有的唯一保护是在服务器端验证通过Ajax查询提供的输入和参数。将每个PHP或Python或任何响应脚本限制为一个非常特定的任务,并检查服务器端的输入。如果有什么不对劲,用一个错误来回应


简而言之,没有办法阻止某人发送请求,但您可以阻止他们在您的服务器上执行您不希望他们执行的操作。

假设您需要某种形式的身份验证:


我想您可以维护数据库会话来验证请求是否来自伪造的真实用户。使用加密的cookie存储会话ID,并将cookie会话ID引用到数据库以验证用户是否有意义。我只是不知道浏览器是否有某种类型的跨域保护。谢谢。浏览器不允许来自其他服务器/域的xmlhttprequest。但是,如果您允许json-p请求,可能会发生这种情况,也可能有人欺骗浏览器,像前面提到的那样对待ajax请求。这是否意味着我们永远无法使用ajax创建安全和通用的CRUD体系结构?