我處於這種情況,其中包含文件,但我不希望其他人通過瀏覽器單獨瀏覽「includes」目錄並單獨查看頁面。通過.HTACCESS保護PHP無效的推薦人?
我很熟悉如何通過PHP文件本身來處理它,但我希望使用.htaccess來防止它。
那麼,如何配置.htaccess以防止用戶不是來自某個推薦人查看「includes」文件夾中的PHP文件?
我處於這種情況,其中包含文件,但我不希望其他人通過瀏覽器單獨瀏覽「includes」目錄並單獨查看頁面。通過.HTACCESS保護PHP無效的推薦人?
我很熟悉如何通過PHP文件本身來處理它,但我希望使用.htaccess來防止它。
那麼,如何配置.htaccess以防止用戶不是來自某個推薦人查看「includes」文件夾中的PHP文件?
.htaccess
會工作,但只是建議一個替代方案 - 爲什麼不把你的include目錄移到webroot之外?您的腳本仍然可以訪問它,並且不需要配置Apache來拒絕訪問。
謝謝,我從來沒有想過這樣做。 – Propeller 2012-03-03 20:19:54
@ShedoSurashu框架非常常見,整個框架和應用程序都在webroot之外。根目錄中的唯一文件是資源(圖像/ javascript/css)以及引導應用程序的單個文件。 – 2012-03-03 21:00:30
把.htaccess文件的目錄,你想不被看作並把這個在那裏:
order allow, deny
deny from all
這是簡單的塊中的所有方法。有關如何通過引用程序阻止的更多信息,請參閱here。 希望這有助於。
由於許多Web託管解決方案明確限制您在public_html(或equiv)層次結構中工作。所以我使用一個簡單的約定:如果我不想要一個文件或目錄是私人的 - 這是無法通過URI訪問的 - 那麼我的名字前綴爲「_
」或「.
」,例如我的PHP包含目錄被稱爲「_includes
」。
我用這個模式在我.htaccess
文件來執行此:
SetEnvIf Request_URI "(^_|/_|^\.|/\.)" forbidden
<Files *>
Order allow,deny
Allow from all
Deny from env=forbidden
</Files>
您可以使用此方法,但修改正則表達式以任何適合你的個人習慣。一個優點是它可以在DOCROOT .htaccess
文件中使用此模板。您不需要在受限制的子目錄中有.htaccess
文件。
:-)
這是沒有意義的,我:當你'包括()'在PHP中一個文件具有完全相同的引薦其包括腳本。我錯過了這一點嗎? – knittl 2012-03-03 19:44:47
你很明白什麼是引用者的東西嗎? – 2012-03-03 19:53:05