0
我正在制作音乐网络应用程序。我添加了一个功能,每首歌曲旁边都有一个按钮可将其从数据库中删除。该页面将通过发送一个参数songId到一个PHP页面来处理它。现在,我想阻止人们能够将POST请求从远程服务器发送到该PHP页面。我可以检查哪些条件来限制POST请求仅来自我的音乐Web应用程序或本地主机。POST请求,限制为本地主机
我正在制作音乐网络应用程序。我添加了一个功能,每首歌曲旁边都有一个按钮可将其从数据库中删除。该页面将通过发送一个参数songId到一个PHP页面来处理它。现在,我想阻止人们能够将POST请求从远程服务器发送到该PHP页面。我可以检查哪些条件来限制POST请求仅来自我的音乐Web应用程序或本地主机。POST请求,限制为本地主机
if($_SERVER['REMOTE_ADDR'] != '127.0.0.1' && $_SERVER['REMOTE_ADDR'] != '::1') {
exit('access denied');
}
但是,这不会保护您免受CSRF的侵害。为了防止恶意网站在提交时(可能自动通过JavaScript提交)向您的应用程序发布POST表单,您需要通过攻击者网站无法知道的秘密令牌实施适当的CSRF保护。
如果您使用的主机名未映射到127.0.0.1,则它也不起作用,例如mDNS主机名。 –
当本地访问它时,尽管使用了回送接口,但机会还是不错的。 – ThiefMaster
谢谢。如果我告诉你,该Web应用程序页面需要登录,他们是否仍然能够直接发布到该页面? –