我通过Laravel / Vue制作了自己的应用程序。它使用REST Api。注册后我的用户必须输入自己的网站地址。然后他收到API密钥和跟踪代码以粘贴到自己的网站上。
在某种情况下,跟踪代码会向我的网站发送Http Post请求。简单的Javascript。根据该请求,他将该API密钥作为params之一发送。
Server将API Key与referer进行比较。如果API密钥与密钥所有者网站一致,则api脚本可以正常工作。如果没有,它会回复禁止。
可悲的是。我可以从用户的网站获得API密钥(RMB - >显示源代码)。然后我可以运行f.e.邮差,设置令牌,其他参数,假的Origin和Referer它会起作用!
如何保护我的REST Api免受虚假来电? 我想不使用服务器端。
如果这是不可避免的,我也想知道为什么人们几乎总是使用两把钥匙(钥匙和秘密)?
我也会被迫为少数后端语言编写服务器端脚本,或者在RoR或Python服务器上运行那个php脚本不会有问题吗?(一种愚蠢的问题但对我来说非常重要)?
答案 0 :(得分:0)
如果您计划鼓励在客户端(JS)运行与API对话的脚本,那么您真的没有多少选择。