我有一個網站,我想創建一個包含所有用戶日誌的log.txt文件。例如,用戶隨時登錄並註銷。也就是說,用戶登錄和註銷的時間。我可以用數據庫做到這一點,但會有很多行,我不想要它。如果我將log.txt文件放在/logs/log.txt中,那麼將domain.com/log/log.txt寫入地址欄的任何用戶都將看到該文件。我怎樣才能防止這一點。 (我用PHP)如何防止在地址欄中顯示文件?
-3
A
回答
2
確實,您可以使用.htaccess
或通過在其他Apache配置位置中放置類似的規則來隱藏網站訪問者的文件。但這種事情不是微不足道的,犯錯誤很容易。從網站訪問者隱藏文件的最佳方式是通過項目的目錄結構。例如:
- 一個目錄
www/
包含網站訪問者需要使用瀏覽器直接訪問的所有文件。這將是您的Apache配置中用作我們網站根目錄的目錄。如果瀏覽器不需要獲取文件,它不應該在這裏。 - 其他目錄,如
logs/
原木,lib/
源代碼,因爲他們不是在網站根目錄(www/
)內這是包含在腳本中,config/
的設置和配置文件等等,用戶可以不點他們的瀏覽器在這些文件中的任何一個。
如果你在共享主機,他們只給你一個文件夾是你的網站根目錄,那麼你不能這樣做。不過,我不會從這樣的公司購買主機帳戶,因爲有很多東西可以讓您將文件放到網頁根目錄之外。
0
您可以防止你的日誌文件夾HTTP訪問使用包含
deny from all
+3
更好的是,只要在文檔根目錄之外放置任何'私人'的東西,這使得它自然無法訪問。 –
1
使用與
<Files "log.txt">
order deny,allow
deny from all
allow from 1.2.3.4
</Files>
一個的.htaccess .htaccess文件其中1.2.3.4是你的IP,如果你想通過網站從你的瀏覽器訪問它。否則,請刪除該行,以便您只能通過FTP或腳本訪問
+2
不是一個好主意。如果某些內容不可訪問,則不應位於文檔根目錄內。 Apache配置很容易搞砸,這樣做會暴露文件。 –
相關問題
- 1. 如何防止顯示.plist文件名
- 2. 如何防止顯示文件位置?
- 3. 如何防止我的代理在地址欄中顯示搜索到的網址?
- 4. 如何在WebBrowser控件中顯示地址欄
- 5. 如何讓地址欄中的地址顯示不同?
- 6. 如何在地址欄中顯示不同的網址?
- 7. 如何使用WebView顯示地址欄?
- 8. 不要在地址欄中顯示URL
- 9. 如何防止附件內容在郵件正文中顯示?
- 10. 防止URL地址欄,並防止使用jquery刷新頁面
- 11. 如何隱藏地址欄中顯示的網址(使用javascript)
- 12. 在地址欄中顯示當前幀的地址
- 13. 如何防止從瀏覽器的地址欄執行JavaScript?
- 14. 如何防止從地址欄加載頁面?
- 15. 如何防止在NSMenuItem中顯示keyEquivalent
- 16. 如何防止在URL中顯示JSESSIONID
- 17. 防止Outlook的Bing地圖突出顯示地址
- 18. 防止標籤在地址欄中循環
- 19. 如何在地址欄中顯示非標準字符?
- 20. 如何防止null顯示?
- 21. 在Web上顯示地址欄WebBrowser
- 22. URL無法重寫 - 如何防止重寫的URL出現在地址欄中?
- 23. 如何將文件路徑更改爲地址欄中顯示的PDF?
- 24. wkhtmltopdf如何在pdf文件中顯示鏈接地址?
- 25. 如何防止我的php顯示csv文件中的列?
- 26. 如何防止密碼顯示在紅寶石模板文件
- 27. 在地址欄中隱藏文件
- 28. IP地址顯示在地址欄而不是域
- 29. Response.redirect在地址欄中顯示上一頁的網址
- 30. 獲取國防部重寫重定向顯示在地址欄中
爲什麼你不想使用數據庫?這正是一個用例;由於數據庫是爲這種情況而設計的,因此「行數太多」沒有意義。 – Venge
呃,將日誌文件寫入可公開訪問的Web根目錄之外的位置? – rdlowrey
你不能用PHP來阻止它。 –