亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以使用 PHP 來保持登錄憑據的活動?

是否可以使用 PHP 來保持登錄憑據的活動?

PHP
慕少森 2023-07-01 17:30:30
如果有人登錄 Google、Facebook、Amazon 或 Stack Overflow,則該人的登錄憑據將一直有效,直到注銷為止。我想問一下,如何使用 PHP 或 Javascript 將用戶的登錄憑據保留在他/她的計算機中,直到注銷為止?可以使用 PHP 或 Javascript,如果不能的話我該怎么辦或者我應該使用什么技術。我是否應該使用Cookie函數并設置過期時間,直到我的域使用mktime函數過期為止。已編輯請提及您的答案的源代碼。
查看完整描述

6 回答

?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

您可以使用 PHP 增加會話超時。如果您希望會話在瀏覽器關閉之前保持活動狀態,您可以簡單地將 session.gc_maxlifetime 設置為 0:

ini_set('session.gc_maxlifetime',?0);

如果您想要無限會話,可以將 session.gc_maxlifetime 設置為:

?ini_set('session.gc_maxlifetime',?60?*?60?*?24?*?365);?#?session?expires?after?1?year

否則,您可以在啟動會話之前將 session.gc_probability 設置為 0。這將使垃圾收集器刪除會話數據的機會為 0%。您必須在共享同一會話存儲位置的所有應用程序中執行此操作。

?ini_set('session.gc_probability',?0);

您還可以從 php.ini 文件更改這些值

查看完整回答
反對 回復 2023-07-01
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

  • Cookie 是網站識別用戶的方式,以便即使在瀏覽器重新啟動時也能保持會話活動。

  • Cookie 不應用于存儲登錄憑據。只有服務器生成的唯一會話標識符才能在設備稍后訪問網站時識別該設備。

  • Cookie 必須在未來的某個時間過期,但您可以將其過期日期設置為幾年后。

  • Cookie 可以使用JavaScriptdocument.cookie從客戶端設置,也可以使用 PHP 在服務器端(對于會話處理更實用)通過Set-Cookie HTTP 響應標頭進行設置,這可以使用PHP 標頭函數手動完成,或者更好地使用setcookie 函數或者更容易讓 php 使用其內置會話函數為您處理整個會話處理過程。


查看完整回答
反對 回復 2023-07-01
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

您正在尋找的稱為PHP Session。您可以使用 PHP 會話為用戶創建“活動”頁面,以獲得自定義用戶體驗。會話比 cookie 相對安全,因為它們存儲在服務器計算機中,但正如 @Anirudhsanthosh 提到的,您可以使用兩者以獲得更好的體驗。

這是有關如何使用PHP Session 創建登錄頁面的教程。

基本思想是,當用戶輸入用戶名和密碼時:

  1. 檢查該用戶名和密碼是否與您存儲在數據庫中的內容相同。

  2. 如果用戶名和密碼匹配,您可以將給定的用戶信息存儲在會話變量中,如下所示$_SESSION['user'] = $username;

  3. 在必須授予僅登錄用戶訪問權限的每個頁面上,檢查用戶是否以以下身份登錄:

    if(!isset($_SESSION['user'])){
    //?REDIRECT?TO?LOGIN?PAGE
    }

PS:不要忘記在每個頁面的開頭啟動會話,因為session_start();



查看完整回答
反對 回復 2023-07-01
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

這稱為 OAauth 身份驗證。每家提供 OAuth 身份驗證的公司(如 Google、Facebook、Amazon、Github 等)都會為您提供有關如何正確執行此操作的文檔說明。

無論如何,您必須擁有自己的身份驗證邏輯,該邏輯將服務于所描述的任何選項,并且您必須一一實現它們中的每一個。對用戶進行身份驗證后,您必須在任何應用程序中照常保留創建的會話。


查看完整回答
反對 回復 2023-07-01
?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

您可以為此使用 php $_SESSION 或 COOKIE

$_SESSION['USER'] = ['current user details'];

您可以將 cookie 和 session 結合起來,作為初學者首先使用 season 以獲得良好的體驗

您不能將 cookie 的到期日期設置為超過 2038 年,否則它將結束


查看完整回答
反對 回復 2023-07-01
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

事實上,它是 Open Id Connect,允許用戶按照您描述的方式進行連接。

Oauth2 是幾年前開發的。它是一種授權協議,這意味著它基本上用于管理數據訪問。它有多個工作流程,具體取決于您想要做什么。

OpenId Connect 它是一個覆蓋層,通過 Oauth2 流實現身份驗證過程。事實上Oauth2和OpenId Connect是互補的。OpenId Connect 的 90% 實際上是 Oauth2。其余部分是使 Oauth2 可用于身份驗證的部分

事實上,互聯網上的文檔使用不同的流程,這使得理解變得更加復雜

我認為我所說的實際上并不明確,而且這是一個廣泛的主題。我花了很多功夫才理解它是如何工作的。


查看完整回答
反對 回復 2023-07-01
  • 6 回答
  • 0 關注
  • 239 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號