好的,这个主题的标题确实很愚蠢-但我无法用比这更好的方式对其进行总结。所以这是我的问题的更详细的版本:
我正在创建一个小的JavaScript库,使开发人员可以将自定义事件中的字符串发送到专用服务器(库中定义的URL)。可以说该库称为“ testLib”,使用该库的开发人员可以编写如下内容:
function success() {
testLib.send("Everything OK");
}
因此,每次调用此成功函数时,都会对库中定义的服务器进行REST调用(POST请求)。到目前为止,没问题。
但是丑陋的是,每个拥有萤火虫或类似功能的人都可以调用这些“ testLib.send()”方法。那真的很丑,因为该库背后的漏洞是仅跟踪开发人员已定义的事件。当然,服务器将负责基本验证(来源检查,API密钥等),但仍然:可以启动Firebug并仅调用“ testLib.send”方法。
有没有机会建立一种授权机制来阻止“ firebug用户”通过预定义的库方法发送剩余调用?
最佳答案
没有任何实际意义。
该库在客户端的计算机上运行。您对此无能为力。他们可以根据自己的意愿编辑JS。他们可以完全绕过它,并在需要时发送手工制作的HTTP请求(或编写一个快速脚本用请求轰炸服务器)。
您实施的任何真正保护都必须在服务器上。