2012-07-02 61 views
0

我正在制作音乐网络应用程序。我添加了一个功能,每首歌曲旁边都有一个按钮可将其从数据库中删除。该页面将通过发送一个参数songId到一个PHP页面来处理它。现在,我想阻止人们能够将POST请求从远程服务器发送到该PHP页面。我可以检查哪些条件来限制POST请求仅来自我的音乐Web应用程序或本地主机。POST请求,限制为本地主机

回答

0
if($_SERVER['REMOTE_ADDR'] != '127.0.0.1' && $_SERVER['REMOTE_ADDR'] != '::1') { 
    exit('access denied'); 
} 

但是,这不会保护您免受CSRF的侵害。为了防止恶意网站在提交时(可能自动通过JavaScript提交)向您的应用程序发布POST表单,您需要通过攻击者网站无法知道的秘密令牌实施适当的CSRF保护。

+0

如果您使用的主机名未映射到127.0.0.1,则它也不起作用,例如mDNS主机名。 –

+0

当本地访问它时,尽管使用了回送接口,但机会还是不错的。 – ThiefMaster

+0

谢谢。如果我告诉你,该Web应用程序页面需要登录,他们是否仍然能够直接发布到该页面? –

相关问题