我想拒絕訪問特定目錄的訪問者,如果他們沒有登錄。 並將它們重定向到「您未登錄」.html文件。htaccess拒絕訪問目錄如果註銷(使用php檢查)
我怎樣才能做到這一點?如果註銷,是否有某種方法可以用PHP編輯.htaccess?
我想拒絕訪問特定目錄的訪問者,如果他們沒有登錄。 並將它們重定向到「您未登錄」.html文件。htaccess拒絕訪問目錄如果註銷(使用php檢查)
我怎樣才能做到這一點?如果註銷,是否有某種方法可以用PHP編輯.htaccess?
你不能用Apache做到這一點。
實現此目的的一種方法是通過重寫規則將每個請求轉發到php腳本並通過此PHP腳本提供文件。
但是這很重,如果你的文件很大,這不是一個好的解決方案。
也許你應該看起來像Apache dbd auth mod(如果你有你的用戶在數據庫中)。但是,再次,這不應該是Apache的工作,因爲它不擅長。
這不是Apache的工作,但PHP可以爲你做。
在僅公開頁面上,不定義會話參數。
在公共登錄頁面上,定義所有會話參數。
在一個僅供會員頁面,是啓動一個會話:
<?php
session_start();
// Assuming variables have been initally defined
if(isset($_SESSION['username']) AND isset($_SESSION['password']))
{
echo 'You are now logged in';
header('Location: sosecretpage.php');
}
else
{
echo 'You are not logged in. You dont have access to this page';
}
?>
阿帕奇沒有你的「登陸」狀況的信息,除非你使用HTTP級身份驗證(例如「基礎」)。你可以檢查會話cookie的存在,但這幾乎沒有用,因爲apache無法讀取PHP會話來查看該會話是否「登錄」。 –
我不會這樣做'.htaccess' - 我懷疑這是可能的,除非使用Apache AUTH,所以我會去檢查該用戶是否登錄在該具體頁面上,如果沒有重定向他(用PHP)到403錯誤頁面... – shadyyx
此信息可能有幫助 [http://stackoverflow.com/questions/3166792/password-protected-directory-and-files-in-php][1] [1]:http://stackoverflow.com/questions/3166792/password-protected-directory-and-files-in-php – Kasun