簡體   English   中英

如何防止訪問某些URL請求的頁面?

[英]How to prevent access to certain URL requested pages?

如何防止訪問某些URL請求的頁面?

如果我的webapp根目錄中有form.html, processFrom.php and getResults.php ,即使processFrom.php沒有回顯任何內容,如何通過輸入URL來阻止用戶訪問此文件?

據推測,您只能通過include聲明或類似聲明訪問它? 您最安全的選擇是將其放在文件系統的其他位置,並從那里包含它。

Web服務器未提供的任何內容都不應保留在Web根目錄下。

現有答案假定processForm.php僅包含代碼,而不是表單“action”屬性中指定的頁面。 如果這個假設不正確,我會回答假設您希望此頁面直接處理您的表單生成的POST請求,但是您希望阻止任何人意外或惡意地在此文件中運行代碼。

在這種情況下,您無法按建議隱藏文件。 相反,您可以使用在顯示表單時創建的令牌,存儲在會話變量中,也可以使用表單(<input type =“hidden”... />)提交。 在processForm.php中執行任何處理之前,檢查令牌是否存在並與會話變量中的令牌匹配。 此外,您應該始終清理所有表單輸入。 只要它可以通過網絡訪問,就不會停止有人向你的腳本提交任何他們想要的東西。

當您使用Apache Web服務器時,我建議創建一個.htaccess文件並拒絕訪問該文件。

這些鏈接應該可以幫助您設置滿足您需求的.htaccess文件。

http://httpd.apache.org/docs/2.2/mod/core.html#files

示例.htaccess:

<Files processFrom.php>
Order allow,deny
Deny from all
</Files>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM