我正在製作基於php的應用程序。當兩個用戶使用不同的選項卡從同一瀏覽器登錄時,他們可以訪問其他頁面。如何防止這一點?在同一瀏覽器中限制用戶訪問
回答
我看到有4個解決方法:
你可能只是試着給那個窗口(在這種情況下,標籤)的名稱來檢測一個特殊的窗口使用JavaScript:
if(window.name==4711) {...}
使用一個帶GET參數的會話,不帶cookie。
使用一個隨機的子域與正常的cookie在該子域上操作。
使用一個普通的cookie,它僅限於一個「虛擬」目錄,這個目錄對mod_rewrite的使用並不存在。 Idea based on this comment。
這是如何防止某人選擇其他選項卡? –
我明白這個問題就是這樣一個解決方案被搜索到在一個多帳戶瀏覽器中登錄。這是基於cookie的會話不可能的。 – rekire
@JaredFarrish:這個概念使得整個問題都沒有意義。我想知道爲什麼這是OP認爲他需要解決的問題。 –
使用$_SESSION
或$_COOKIE
存儲當在用戶登錄,因此,當用戶更改頁面,您根據生成的密鑰訪問他們的信息更新數據庫時創建的生成的密鑰。你也需要可能要創建一個簡單的function
,檢查的密鑰和使用其他功能,爲您的網頁,如果它就像一個菜單欄或登錄框,把它包裝的if statement
像
if(checkUser($_COOKIE['MYSID'])){
// User is logged in so show whatever
} else {
// Login box here
}
Cookie不綁定到標籤或窗口,AFAIK。仍然不會阻止某人僅僅點擊其他標籤*。 –
您是對的,Cookies不是基於一個標籤或窗口,但是如果您使用Cookies作爲登錄源並在網站中添加了一個用於檢查Cookie是否存在的部分,從而不允許其他人登錄確實阻止了他所要求的。 – Bobby
缺點是,顯然/可能?,OP建立了一個系統,以某種方式允許多個用戶在同一個瀏覽器會話中登錄。修復這個問題,不要針對甚至不應該發生的問題實施一些複雜的「修復」。 IMO。 –
使用window.name
物業內或通過打開瀏覽器選項卡的時間爲每個用戶設置Cookie。
,所以你要做的 第一,當用戶輸入憑證和記錄在設置會話變量
$_SESSION['logged_in'] = "true";
什麼,那麼你必須做出一些修改你的應用程序沒有檢查,如果用戶當前已登錄或不到您的索引頁面,頁面如下
<?
if($_SESSION['logged_in']=='true'){
header('location:USERS_SPECIFIC_PAGE_AFTER_LOGIN.EXT')
}
else{
header('location:login_page.ext');
}
?>
- 1. 限制多個用戶登錄,在同一個瀏覽器
- 2. 限制目錄訪問直接在瀏覽器中輸入
- 3. 通過創建一個新的瀏覽器限制ip訪問?
- 4. 限制瀏覽器訪問的文本文件權限
- 5. 限制瀏覽器中REST URL的訪問
- 6. 限制對目錄中的文件瀏覽器訪問
- 7. 爲什麼瀏覽器限制:訪問選擇器?
- 8. 限制用戶同時訪問頁面
- 9. 限制用戶在Chrome瀏覽器中打開devtool
- 10. 如何在瀏覽器中訪問用戶的選擇?
- 11. Google是否會限制來自Web瀏覽器客戶端的訪問?
- 12. 如何限制瀏覽器
- 13. 限制用戶訪問
- 14. Drupal - 限制訪問用戶
- 15. Subversion限制用戶訪問
- 16. 限制訪問用戶
- 17. 在瀏覽器中訪問Facebook Cookie
- 18. 在瀏覽器中訪問攝像頭?
- 19. 在centos中訪問瀏覽器最小
- 20. 如何在用戶允許訪問後使用瀏覽器GeoLocation
- 21. 在nginx中限制訪問不同用戶
- 22. 限制訪問限制訪問用戶的PHP腳本
- 23. 限制瀏覽器使用的web.config
- 24. 如何限制多個用戶訪問同一保險案例
- 25. 限制用戶從同一IP訪問多個頁面
- 26. 在多個瀏覽器/ ISP連接中識別同一用戶
- 27. 跨瀏覽器代碼來限制用戶輸入使用Javascript
- 28. 訪問在不同的瀏覽器窗口中運行的Applet
- 29. 用戶Agnet(瀏覽器/瀏覽器)Progmatically
- 30. 如何在瀏覽器控制檯中訪問Angular功能客戶端?
爲什麼?除了讓用戶輸入每個請求的用戶名/密碼外,我不知道這是可能的,更不實用。 –
標題中的「限制用戶訪問」 - 有問題的「可以訪問」??? – slash197
你真的*需要做的是確保你不會允許瀏覽器登錄兩個不同的用戶。這通常是web應用程序在這方面的工作方式。 IE,如果用戶試圖訪問登錄屏幕或表單,請首先註銷,或者如果請求登錄頁面或表單,則自動登出其他用戶。 –