我确定以前有人问过这个问题,但我找不到以对我来说有意义的方式解释它的线程。
我正在创建一个用 Javascript 编写的小书签/浏览器插件。此脚本调用 api,有效地将用户事件信息从一个站点发送到另一个站点。 (想想,当用户发布 Facebook 状态时发一条推文)
该站点将 javascript 直接加载到站点中。我正在使用的 API 需要使用 API 密码生成 MD5 哈希。这没问题,我正在对我在别处托管的 PHP 脚本进行 ajax 调用,它会返回正确的字符串。
问题是我不希望用户能够调用同一个脚本来生成他们自己的字符串,并嵌入 secret 以滥用 API。它们是我只能在需要时才允许调用此 API 的方法吗?
或者我可能从错误的方向来处理这个问题。
最佳答案
您无法指定客户端如何执行您的 javascript。无法创建“安全”请求,或确保它未被攻击者修改。这是客户端/服务器系统的本质。可以使用 GreaseMonkey 修改页面本身,并且可以使用 TamperData 修改或重播任何请求。
关于javascript - "Secure"如何调用AJAX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8459087/