我正在使用PHP和json来制作API,并且我想限制对它的访问。最好用的方法(在我看来)是为每个用户创建一个APIKey。我想要做的是检查谁在使用/请求json,然后我可以检查站点的密钥(我知道如何做最后一部分)。(密钥将附加到站点url ?key=KEY)
我试过了
$_SERVER['HTTP_REFERER'];
但显然,这只会显示最后一个网站,如果你被重定向到我的网站。
我希望这不是太主观,我真的不知道如何用其他方式来解释这一点。希望有人能理解我在做什么,也许有更好的解决方案?我对制作API至少是有限的API有点陌生。谢谢!
发布于 2014-03-30 15:02:46
引用由web浏览器设置,为您提供用户在访问您的站点之前浏览的最后一个页面。如果您使用API密钥对站点进行身份验证,并且此站点将API密钥嵌入到其JS代码中,以便访问者可以直接访问您的API,则同时使用API密钥和referrer的速率限制将允许攻击者DOS您的API,直到特定站点受到速率限制(因为攻击者知道API密钥,并且referrer很容易被欺骗)。
https://stackoverflow.com/questions/22745331
复制相似问题