Javascript 从客户端在web上上载文件而不泄露API密钥
例如,我试图将一个文件从web应用程序上传到外部源(比如scribd)。要上传文件,我还需要发送API密钥。但是,如果我从客户端发送API密钥,它将显示给在客户端搜索它的用户Javascript 从客户端在web上上载文件而不泄露API密钥,javascript,html,web-applications,rest,scribd,Javascript,Html,Web Applications,Rest,Scribd,例如,我试图将一个文件从web应用程序上传到外部源(比如scribd)。要上传文件,我还需要发送API密钥。但是,如果我从客户端发送API密钥,它将显示给在客户端搜索它的用户 如何使用不想向用户透露的API密钥从客户端上传?将其上载到我的服务器,然后再上载到外部源,这似乎是多余的。通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“
如何使用不想向用户透露的API密钥从客户端上传?将其上载到我的服务器,然后再上载到外部源,这似乎是多余的。通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“风险” 编辑:
显然,Scribd提供了一种提供加密请求的方法,这样您的API密钥就不会被它们推断出来(当然,您必须远程生成这些请求并将它们发送给客户端)。请参见尽管通过服务器可能是多余的,但这是唯一的方法。您不能在客户端使用密钥并对客户端隐藏它,如果您不使用HTTPS,它也很容易被拦截。顺便说一句,我不知道Scribd的情况,但通常窃取API密钥并不是很有用,所以您可能只会承受“风险” 编辑:
显然,Scribd提供了一种提供加密请求的方法,这样您的API密钥就不会被它们推断出来(当然,您必须远程生成这些请求并将它们发送给客户端)。请参见实际上,在大多数情况下,窃取API密钥是您唯一需要的。即使在这种情况下,您也可以使用API密钥上载文件。上载文件通常还意味着您可以通过相同的API删除文件:。在这种情况下,API必须提供一些额外的安全措施。阅读Scribd文档,我发现你可以使用请求签名,所以应该可以解决原始海报的问题。谢谢大家。这确实解决了我的问题。我的问题是一般性的,但我的问题是具体的。实际上,在大多数情况下,窃取API密钥是唯一需要的。即使在这种情况下,您也可以使用API密钥上载文件。上载文件通常还意味着您可以通过相同的API删除文件:。在这种情况下,API必须提供一些额外的安全措施。阅读Scribd文档,我发现你可以使用请求签名,所以应该可以解决原始海报的问题。谢谢大家。这确实解决了我的问题。我的问题是一般性的,但我的问题是具体的。