开机自检请求,仅限于本地主机


POST Request, restrict to localhost

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

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

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