如何防止用戶在未登錄時訪問頁面?我希望他被重定向到登錄頁面。我知道這與會議有關。PHP,防止用戶在未登錄的情況下訪問頁面?
回答
它的工作原理是這樣的:
- 啓動一個會話:在session_start()
- 如果會話[ 「user」] == null,重定向到登錄頁面,否則繼續。
- 在登錄頁面,使用表格
- 張貼這種形式登錄頁面
- 覈對您的身份驗證服務(如MySQL中的表),如果用戶被授權
- 如果要求用戶輸入密碼是的,Session [「user」] = $ userName,將用戶重定向到頁面。如果不是,再次提示輸入密碼
當然,這是非常非常簡單的。在你的會話中,你可以保留一個複雜的用戶對象,或任何東西。祝好運編碼。
如果你想爲任何用戶做某個URL,那麼該怎麼辦?如果他們登錄或沒有。 – 2016-09-01 21:21:17
當他登錄時 - 存儲會話變量。然後在每一頁
session_start();
if (!isset($_SESSION['nID']))
header("Location: login.php");
的開始。如果登錄就可以了
session_start();
$_SESSION['nID'] = 1; //example
不起作用;精明的用戶可以忽略重定向。 – Vitruvius 2017-07-21 23:20:13
由於Svetlozar安格洛夫指出,下面的代碼將工作做好:
if (!isset($_SESSION['nID']))
header("Location: login.php");
但是..這不會對實際誰真的想接入用戶安全的頁面。你需要做一些調整:
if (!isset($_SESSION['nID']))
{
header("Location: login.php");
die();
}
這可以防止殭屍,誰知道如何從進入頁面,造成的問題忽略瀏覽器的標題薩維用戶。它還允許頁面停止執行頁面的其餘部分並節省資源。
它還值得注意的是$ _SESSION ['nID']可以換出任何其他變量,你正在用來存儲用戶名或ID的。
遵循以下步驟:
創建的login.php頁面所有人開放,其中用戶輸入她的用戶名和密碼的形式。這個表格必須提交給login.php本身。 (動作= '的login.php')。在表單中還包含一個隱藏變量,用於跟蹤表單是否已提交。
如果設置了隱藏變量,請檢查數據庫中是否存在用戶名($_POST['user']
),並確認密碼與用戶名匹配。如果是這樣,存儲用戶名在這樣的$ _SESSION變量:
$_SESSION['username'] = $_POST['user'];
如果沒有,請重新登錄。PHP的是這樣的:
echo 'header("login.php")'; //You should not have echoed anything before this
現在包括在您創建的每個用戶頁面的login.php。假設你正在寫的電子郵件應用程序,這樣
include ("login.php")
創建inbox.php現在,如果會話變量「用戶」設置的login.php將檢查並允許訪問只有授權用戶。
- 1. 可以在不登錄的情況下訪問頁面
- 2. 防止其他登錄用戶訪問'編輯'頁面
- 3. 允許註冊用戶在未登錄的情況下訪問其帳戶
- 4. 登錄頁面無法在未登錄的情況下引用其他文件
- 5. 防止用戶訪問管理頁面
- 6. 如何防止用戶未登錄時顯示一個頁面?
- 7. 防止用戶登錄後返回登錄頁面jsp servlet
- 8. 如何防止用戶訪問一個網頁,而不登錄
- 9. 如果用戶未登錄,如何阻止用戶訪問下一頁?
- 10. 如何在用戶登錄時停止訪問WordPress頁面
- 11. 如何在沒有用戶訪問頁面的情況下運行php代碼?
- 12. 如何防止在Django中成功登錄後訪問登錄頁面?
- 13. PHP:防止直接訪問頁面
- 14. 在不登錄的情況下使用擴展訪問令牌
- 15. 如何限制訪問Magento中未登錄用戶的頁面
- 16. 如何僅允許我的應用在未登錄的情況下訪問Firebase?
- 17. 阻止登錄用戶訪問asp.net中的登錄頁面mvc 5
- 18. PHP腳本阻止未經授權的用戶訪問頁面
- 19. 頁面才能訪問登錄(PHP)
- 20. Cakephp登錄頁面訪問
- 21. 如何防止訪客用戶訪問管理頁面
- 22. 防止用戶訪問目錄
- 23. 防止用戶訪問,如果還沒有登錄
- 24. 如何確保除登錄頁面之外沒有其他頁面可以在未登錄的情況下訪問?
- 25. 防止未經授權的用戶訪問laravel中的管理頁面5
- 26. 如何防止用戶直接訪問我的html頁面
- 27. 防止註銷用戶訪問可用於登錄用戶的url鏈接
- 28. 如何停止使用Flask-Stormpath訪問登錄/註冊頁面的用戶?
- 29. 在某些情況下防止null
- 30. PHP:用戶登錄系統/檢查用戶是否有訪問頁面
您如何知道用戶是否活動?正在設置哪些變量? – Sam152 2009-10-20 12:33:10
如果還沒有實現,還有1個提示:在檢查用戶會話是否存在之後,檢查POST變量是否來自請求而不是直接訪問。目的是防止公衆直接訪問你的PHP頁面(如果它們以某種方式窺見它)並且執行不合需要的功能。 – 2017-01-03 07:55:00