如何发布访问RESTAPI的jQuery代码,但如何保护它不被未经授权的使用
这个问题类似于这个问题: 我想要的是针对服务器上的RESTAPI开发一个基于jQuery的查询,以检索一些数据以显示在网页上 我希望网页和jQuery的授权用户能够访问此数据,但不希望其他人能够复制该jQuery并将其放在他们的站点上以任何方式访问此数据。更清楚的是,这一切都发生在浏览器的客户端-没有任何涉及服务器端代码 如果可能的话,实现这一目标的正确策略是什么 我不希望查看网页的最终用户必须知道他们浏览器中发生的任何事情如何发布访问RESTAPI的jQuery代码,但如何保护它不被未经授权的使用,jquery,security,rest,Jquery,Security,Rest,这个问题类似于这个问题: 我想要的是针对服务器上的RESTAPI开发一个基于jQuery的查询,以检索一些数据以显示在网页上 我希望网页和jQuery的授权用户能够访问此数据,但不希望其他人能够复制该jQuery并将其放在他们的站点上以任何方式访问此数据。更清楚的是,这一切都发生在浏览器的客户端-没有任何涉及服务器端代码 如果可能的话,实现这一目标的正确策略是什么 我不希望查看网页的最终用户必须知道他们浏览器中发生的任何事情 谢谢 如果您不要求最终用户对您的站点进行任何类型的身份验证,因此您不
谢谢 如果您不要求最终用户对您的站点进行任何类型的身份验证,因此您不能将其用作身份验证方法,并且您希望您的网页能够在没有任何其他干预的情况下使用REST API,那么就没有万无一失的方法来保护REST API。如果您希望数据位于未经验证的浏览器中,则任何人都可以检索该数据 还请记住,他们可以始终运行您的网页,并从您的网页中解析数据。因此,如果使用此网页不需要身份验证,则该数据已可供一般公众使用。如果不需要身份验证,就无法真正保护它 有一些事情你可以尝试让人们更难使用你的RESTAPI,尽管没有一件是万无一失的。这些只是障碍,而不是安全
accessKey
。您的网页将内置accessKey。任何希望使用您的API的外部开发人员(在您的许可下)都会申请accessKey,您会将其授予他们(如果您希望他们能够使用您的API)。然后,您的服务器只允许来自已批准的AccessKey的访问请求。如果发现某个accessKey被恶意使用,可以在服务器上关闭该accessKey的使用。如果有人违背您的意愿使用您自己网页中的accesskey,则您可以更改您在自己网页中放置的accesskey,并撤销以前accesskey的权限。显然,一些流氓开发人员可能会不断从您自己的网页中获取accessKey,但他们必须定期这样做才能定期使用您的API。同样,这只是一个有决心/知识渊博的开发人员可以克服的障碍,但这是对已经向公众提供的数据所能做的最好的事情
仅供参考,这里还有另一个类似的讨论:您链接的文章介绍了一种连接
oAuth
的方法oAuth
是一个开源身份验证平台,可用于验证站点上的用户。它将返回一个令牌
,您可以使用该令牌来确保
用户是他们所说的人。另外,在创建的查询字符串中需要一个api_key=blahblahblah
参数,这样您就有了一个安全的系统,可以通过RESTFUL api提供数据。答案很好。。。这就是我所认为的情况。。。希望有人能想出办法……:)