2

我相信这个问题已经被问了很多时间。

但想重新确认我的疑问并获得一些提示。

我正计划玩 buddy.com 后端即服务。我看到如果您使用 JavaScript,他们的大多数 REST API 都需要嵌入应用程序名称和密码。他们还没有任何关于 javascript 的文档。但是想知道我是否必须立即从使用普通 html 或 HTML5 网络应用程序的 Javascript 开始使用它。我该如何使用它。

我不想以明文形式传递应用程序密码,因为任何人都可以查看浏览器的源代码,或者可以运行 fiddler 来查看正在调用的内容。我知道曾经会说,嘿,你为什么不使用在特定时间有效的令牌系统。

但我是这里的消费者,我如何保护在浏览器的视图源中看到的密码,因为我将通过网页/应用程序上的 java 脚本调用 API。

buddy.com API 的典型示例

http://webservice.buddyplatform.com/Service/v1/BuddyService.ashx?Pictures_ProfilePhoto_Add&BuddyApplicationName= &BuddyApplicationPassword=&UserToken=&bytesFullPhotoData=&ApplicationTag=&RESERVED=

任何提示将非常感谢。谢谢

4

1 回答 1

1

客户端运行的 JavaScript 始终可以使用 GreaseMonkey 进行修改。 ALL VARIABLES可以使用像Firebug这样的 JavaScript 调试器来读取。 可以使用tamperdata拦截和修改所有请求

结果是您永远无法信任 JavaScript,因为它的客户端代码。为了对攻击者保密,您需要对 JavaScript 保密。您可以使用中间 API 执行此操作,该 API 知道秘密并代表客户端执行请求。此 API 需要强制执行身份验证,或者谁有权访问给定资源。

于 2012-07-10T23:00:09.940 回答