我有一個腳本,主要組件存儲在子文件夾中。所有組件只能從作爲控制器的index.php訪問。在考慮隱藏公共訪問/知名度的組件文件夾的方法時,我得到了2個選項:如何有效防止目錄暴力強制?
- 在每個目錄中使用.htaccess來傳遞403禁止的錯誤。
使用以下php腳本和一個「假」404 HTML消息在每個文件夾中放置一個index.php。
header('HTTP/1.0 404 Not Found');
我試了兩個選項,並用OWASP ZAP掃描。對於第一個選項,可以獲得腳本的整個結構,因爲對於每個系統文件夾,403都已交付。有了第二個選項,OWASP無法給我一個腳本文件夾的列表,因爲404告訴它沒有文件夾。
現在我不知道哪種方法是最好的,htaccess會阻止所有的訪問,但假的404你甚至不能看到有一個目錄。
是否有安全的.htaccess安全工作和一個交付404的好混淆?
編輯:對不起,我忘了提及,由於服務器的限制,我不可能將組件移到可訪問的腳本路徑之外!
爲什麼不把腳本移出公用文件夾? – 2013-02-22 20:17:33
只使用index.php將停止顯示該目錄,但只有當它們加載目錄時纔會顯示該目錄。它不會阻止某人直接轉到該文件夾中的另一個腳本。 .htaccess將停止加載文件夾中的所有腳本。你可以在父目錄中使用一個.htaccess文件來阻止所有的子目錄。 – 2013-02-22 20:20:37