2017-02-25 61 views
-1

我需要限制只有登錄用戶才能訪問配置文件映像。我一直在readingsomepostsabouthow要做到這一點,但沒有找到讓我明白如何去做的例子。也許我只是不明白,因爲我不太瞭解.htaccess規則。如何檢查cookie是否存在以允許用戶繼續圖像?

我已經試過:

order allow, deny 
deny from all 

但它拒絕訪問所有(DOH),包括我自己。我無法使用IP地址。

我沒有在URL中使用會話ID,但我使用php腳本(當用戶登錄時首先生成會話的同一個腳本)檢查登錄用戶。

所以我想也許我可以實施cookie檢查?

我目前沒有使用cookie,但每次用戶登錄時都可以創建一個cookie,並在用戶註銷時銷燬它。所以我的問題是:

Cookie檢查是否足夠安全,高性能的選項?

如果是這樣,我該怎麼做那個檢查?

我已經走了這麼遠,明白這一點:

RewriteEngine On 
RewriteBase/

# search for image files 
RewriteCond %{REQUEST_FILENAME} ^.*(jpg|jpeg|png|gif)$ 
# look for my cookie 
RewriteCond %{HTTP_COOKIE} !^.mycookie.$ [NC] 

如何檢查是否存在Cookie,然後允許繼續的形象呢?

請注意,圖像顯示嵌入在我的網站內每個配置文件.php文件。

感謝您的幫助!

+0

爲什麼-1沒有解釋的投票? – Rosamunda

回答

1

嘗試使用$_SESSION數組,您可以使用session_start()創建會話並使用session_destroy()將其銷燬,它比cookie更容易驗證會話。 你也可以創建一個會話時發送的參數,例如

$parameters = array('param1' => 'value', 'param2' => 'value2' /* paramN => valueN*/); 
session_start($parameters); 

,並驗證它像這樣

if(isset($_SESSION)){ 
//Do stuff 
} 

你也可以檢查一個特定的參數是在會話

if(isset($_SESSION['param1'])){ 
//Do another thing 
}