Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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 从客户端在web上上载文件而不泄露API密钥_Javascript_Html_Web Applications_Rest_Scribd - Fatal编程技术网

Javascript 从客户端在web上上载文件而不泄露API密钥

Javascript 从客户端在web上上载文件而不泄露API密钥,javascript,html,web-applications,rest,scribd,Javascript,Html,Web Applications,Rest,Scribd,例如,我试图将一个文件从web应用程序上传到外部源(比如scribd)。要上传文件,我还需要发送API密钥。但是,如果我从客户端发送API密钥,它将显示给在客户端搜索它的用户 如何使用不想向用户透露的API密钥从客户端上传?将其上载到我的服务器,然后再上载到外部源,这似乎是多余的。通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“

例如,我试图将一个文件从web应用程序上传到外部源(比如scribd)。要上传文件,我还需要发送API密钥。但是,如果我从客户端发送API密钥,它将显示给在客户端搜索它的用户


如何使用不想向用户透露的API密钥从客户端上传?将其上载到我的服务器,然后再上载到外部源,这似乎是多余的。

通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“风险”

编辑:
显然,Scribd提供了一种提供加密请求的方法,这样您的API密钥就不会被它们推断出来(当然,您必须远程生成这些请求并将它们发送给客户端)。请参见

尽管通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“风险”

编辑:
显然,Scribd提供了一种提供加密请求的方法,这样您的API密钥就不会被它们推断出来(当然,您必须远程生成这些请求并将它们发送给客户端)。请参见

实际上,在大多数情况下,窃取API密钥是您唯一需要的。即使在这种情况下,您也可以使用API密钥上载文件。上载文件通常还意味着您可以通过相同的API删除文件:。在这种情况下,API必须提供一些额外的安全措施。阅读Scribd文档,我发现你可以使用请求签名,所以应该可以解决原始海报的问题。谢谢大家。这确实解决了我的问题。我的问题是一般性的,但我的问题是具体的。实际上,在大多数情况下,窃取API密钥是唯一需要的。即使在这种情况下,您也可以使用API密钥上载文件。上载文件通常还意味着您可以通过相同的API删除文件:。在这种情况下,API必须提供一些额外的安全措施。阅读Scribd文档,我发现你可以使用请求签名,所以应该可以解决原始海报的问题。谢谢大家。这确实解决了我的问题。我的问题是一般性的,但我的问题是具体的。