1

如果您正在使用如下所示的 jQuery 调用服务,在这种情况下,您的服务调用将显示给用户,允许他使用 fiddler 或任何自定义 Web 应用程序调用此类服务

$.ajax({
   url: SERVICE_URL?Q1=eee&Q2=sss,
   dataType: "application/json",
   data: {...},
   ......
})

gmail、facebook 或 twitter 采用了什么技术来解决这个问题,因为我发现脚本中没有这种类型的调用。

我发现他们正在使用 oAuth 身份验证提供程序来生成访问令牌,以便在他们每次需要从 jQuery 访问任何内容时传递...

请任何人帮助我们检查不显示服务网址甚至对其进行编码的最佳做法

4

2 回答 2

1

尝试将您的数据类型更改为“jsonp”

于 2012-04-15T15:10:55.747 回答
0

我认为如果我们应用以下内容会更好,但仍然不确定它是否足以保护您的服务。

  • 所有后端服务都应该打包在 API 中。
  • 在系统组件的任何存储中使用共享会话(如 memcache 或 redis,后者最好保持持久性,以防记住我功能(如果存在)),防止在未经身份验证或授权的情况下调用您的服务
  • 通过使用每秒最大命中数来管理您的服务以防止命中...(如果您使用的是 redis,则可以应用此技术)

提示:这里详细描述了 Redis 持久性http://redis.io/topics/persistence

更新:例如,AWS 现在正在通过 API 网关和 Amazon Cognito 实现这一点,这就是所谓的无服务器应用程序 :)

于 2014-03-07T10:33:43.850 回答