保护jQuery AJAX请求

时间:2015-09-23 19:40:27

标签: javascript jquery google-chrome-extension

我正在开发一个Chrome扩展程序,它将使用jQuery通过AJAX请求发送数据。我需要确保只有登录用户才发送请求。这可能不是尝试保护AJAX请求本身的正确方法,因此任何建议都是适用的。

2 个答案:

答案 0 :(得分:0)

要使用此功能,当用户登录时,您需要设置一个包含某种身份验证令牌或会话ID(通常是一些不可预测的字符串)的cookie,它也存储在您的服务器上。

然后,您的Ajax请求可以将来自当前浏览器cookie的身份验证令牌作为ajax调用的参数包含在内,然后您的服务器就可以验证该令牌属于合法用户。

如果用户未登录,则不会有cookie,因此没有令牌。

答案 1 :(得分:0)

您无法在客户端保护Ajax请求,因为每个人都可以请求您的API,如果它包含在您的JS中。 但是有些解决方法可以让您选择与服务器进行更安全的交互:

  • 您可以发送加密数据
  • 您还可以对代码进行模糊处理以使其更难阅读
  • 使用SSL保护数据免受窥探者的攻击

修改 正如您所提到的,如果您想确保用户登录以执行某些操作,您可以使用加密cookie和另一个答案中提到的令牌。但是如果您想要阻止请求并且不拒绝它们,那么以上解决方案可以帮助您。