我有一個PHP網站,我想確保只有登錄用戶可以訪問某些數據,並且用戶只能訪問有權訪問的數據。我不確定這是PHP還是Apache問題。假設服務器上存在文件夾「Images」。如果用戶沒有登錄,並且瀏覽器請求可以從文件夾映像,那麼重定向到另一個頁面會照顧它還是需要讓Apache以某種方式涉及Apache,以確保用戶絕對不能訪問這些文件是一個標識用戶的PHP會話?文件和文件夾訪問管理和安全(PHP/Apache)
回答
使用PHP來驗證用戶,並使用.htaccess文件拒絕任何訪問不是從PHP發送的目錄。但是,如果您使用.htaccess方法,則必須使用php獲取圖像,但無法通過html或javascript訪問該圖像。 把圖像文件夾中的.htaccess文件:
deny from all
隨着該.htaccess文件內寫入。
然後只有php可以訪問文件夾內的文件。
這似乎是要走的路。現在我只需要學習如何使用PHP來提供文件。 – goodbyeworld 2014-09-27 19:57:24
除非瀏覽器具有特定的cookie,否則整個目錄都可以禁用。修改.htaccess
文件以期望目錄包括:
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_COOKIE} !CookieName=Value [NC]
RewriteRule .* http://www.example.com/members/login.php [L]
你必須改變三樣東西:
CookieName
應該有你想要的名字。- 與
Value
落後於CookieName
您可以要求cookie具有特定的值。 - 當然還有URL。
現在只有在瀏覽器中存在正確的cookie時纔會授予訪問權限。當然,只有可以登錄的用戶才能擁有這個cookie。我假設你知道如何製作這樣的曲奇?提示:讓Cookie合理快速過期。
值必須是靜態的嗎?因爲如果某人的cookie被劫持,那麼黑客就可以訪問所有的圖像。我並不試圖否定。我只是好奇,因爲我不知道你能做到這一點,並想要衡量它對我自己的可用性。 – 2014-09-27 19:34:01
是的,沒有。值顯然是靜態的,除非你寫了一個帶有新值的新的'.htaccess'文件。例如,您可以編寫一個cron作業,每天在凌晨03:00更改該值。但是,正確的假設是,正確的訪問和知識總是可以被破解的。如果您需要絕對保護,請使用通過PHP傳遞所有內容的方法。 – 2014-09-27 22:03:19
- 1. 訪問CSS和圖像文件夾時的安全問題
- 2. codeigniter管理文件夾訪問
- 3. 訪問文件夾和獲取文件
- 4. TFS安全和文檔文件夾
- 5. 角及春季安全 - 安全文件夾和文件
- 6. Statamic htaccess和訪問MAMP上的管理文件夾
- 7. Django文件訪問安全
- 8. 安全訪問inotified文件
- 9. 寫入文件夾和安全風險
- 10. 安全文件夾和身份驗證
- 11. 如何直接訪問文件夾和訪問Excel文件
- 12. 訪問Jar文件中的文件和文件夾
- 13. NSBundle和資源文件夾內的訪問文件夾
- 14. htaccess限制訪問文件夾和子文件夾
- 15. 防止匿名訪問文件夾和子文件夾
- 16. Htaccess不允許訪問文件夾和子文件夾
- 17. C++文件和文件夾訪問查看和控制
- 18. Radeditor文檔管理器不顯示文件和文件夾
- 19. 安全:限制插件訪問文件系統和網絡
- 20. $ DOCUMENTS安裝到管理文件夾
- 21. 如何使文件和文件夾更安全?
- 22. 安全移動的svn文件夾和文件
- 23. Android上的文件夾和文件安全
- 24. 如何使用Zend Framework 2從公共文件和文件夾中分離管理文件和文件夾?
- 25. PHP,阿賈克斯 - 訪問服務器上的所有文件和文件夾,並創建文件管理器
- 26. 如何根據文件和文件夾管理jsTree的contextmenu
- 27. 使用PyDrive訪問文件夾,子文件夾和子文件(Python)
- 28. 使用symfony安全文件管理
- 29. php安全和可擴展的文件管理
- 30. 最安全的方式來密碼保護管理文件/文件夾?
根據文件的類型和大小,一個簡單(和非高性能)的方式將服務器通過PHP的所有文件。將文件夾移動到非apache可訪問的文件夾並執行'if($ loggedin){header('Content-type:image/jpeg'); echo file_get_contents('/ private/file.jpg'); }' – tillz 2014-09-27 19:13:24