2012-07-20 72 views
2

我已經通過使用會話變量來存儲用戶名登錄頁面,我想知道是否有可能創建僅供登錄用戶訪問的url鏈接,但url鏈接不應用於未登錄的用戶,例如登錄的用戶,如果他嘗試複製url並將其提供給另一個用戶人,如果該人在未登錄的情況下在他的地址欄中粘貼了url,他應該重定向到登錄頁面或應該顯示一些消息,說明他需要登錄才能查看該特定的url鏈接。防止註銷用戶訪問可用於登錄用戶的url鏈接

我已經在谷歌搜索了這個,不能找到任何解決方案。

* 編輯* 實際上該鏈接是其URL需要被隱藏,類似於我們躲在被用於使用標頭下載PDF格式的路徑方式的HTTPS頁面。

例如我做了一個PHP頁面,如果用戶名在會話中,他點擊一個鏈接,他將被重定向到這個鏈接頁面,但他無法看到URL。

謝謝

+0

當然,這是可能的。如果你使用像CakePHP這樣的框架,這很容易,但我相信你也可以用直接的PHP來完成它。 – Antimony 2012-07-20 05:18:30

+0

你絕對可以做到這一點。當然,這些URL需要由PHP來處理。如果它沒有看到'$ _SESSION ['username']'set(或者你稱之爲的任何東西),請讓你的代碼發送一個錯誤。嘗試一下,然後發佈一些代碼,如果它不起作用。 – ghoti 2012-07-20 05:19:33

回答

2

登錄成功時創建一個會話變量。

$_SESSION['logged_in'] = $_POST['username']; 

然後在每一頁使用session_start()

之後立即開始檢查

if(! isset($_SESSION['logged_in'])) { /* redirect to login page */ }

0

。假定的「URL鏈接」是PHP頁面,在每個頁面的頂部只需驗證請求頁面的Web瀏覽器是否已建立有效會話。

0

這樣做:

<?php 

session_start(); 

if(isset($_SESSION['loggeduser']){ 
echo "Welcome"; 
} 
else{ 
echo "Unauthorized User"; 
//redirect user to login page 
} 

?>