2012-07-02 140 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應用程序頁面需要登錄,他們是否仍然能夠直接發佈到該頁面? –

相關問題