Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript使用应用程序名和应用程序密码调用RESTAPI-如何保护它_Javascript_Security_Api - Fatal编程技术网

Javascript使用应用程序名和应用程序密码调用RESTAPI-如何保护它

Javascript使用应用程序名和应用程序密码调用RESTAPI-如何保护它,javascript,security,api,Javascript,Security,Api,我相信这个问题已经被问了很多次了 但我想再次确认我的怀疑并得到一些提示 我打算把buddy.com的后端作为一项服务。 我看到,如果您使用JavaScript,他们的大多数RESTAPI都要求嵌入应用程序名和密码。 他们还没有任何javascript文档。 但我想知道我是否必须现在就从Javascript开始使用普通html或HTML5Web应用程序。我如何使用它 我不想以明文形式传递应用程序密码,因为任何人都可以查看浏览器的源代码或运行fiddler来查看调用的内容。 我知道有一次我会说,嘿,

我相信这个问题已经被问了很多次了

但我想再次确认我的怀疑并得到一些提示

我打算把buddy.com的后端作为一项服务。 我看到,如果您使用JavaScript,他们的大多数RESTAPI都要求嵌入应用程序名和密码。 他们还没有任何javascript文档。 但我想知道我是否必须现在就从Javascript开始使用普通html或HTML5Web应用程序。我如何使用它

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

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

buddy.com API的典型示例

&BuddyApplicationPassword=&UserToken=&ByteFullPhotoData=&ApplicationTag=&RESERVED=

任何提示都将不胜感激。
谢谢

客户端运行的JavaScript始终可以使用GreaseMonkey进行修改可以使用JavaScript调试器读取所有变量,如所有请求都可以通过截获和修改


结果是,您永远不能信任JavaScript,因为它的客户端代码。为了对攻击者保密,您需要对JavaScript保密。您可以使用一个中介API来实现这一点,该API知道秘密并代表客户机执行请求。此API需要强制执行身份验证,或者谁有权访问给定的资源。

如果他们不提供生成客户端密钥的方法(如OpenTok或Twilio client),您将需要通过自己的后端为通过应用程序身份验证的用户代理请求。谢谢,我知道后端将很容易。但是,如果您不想通过javascript实现这一点,有没有办法保护它?