wordpress登入後發生了什嗎?

來源:互聯網
上載者:User
關鍵字 php
不登入wordpress的時候,開啟一個網頁,這個網頁不可以編輯。
現在,我登入wordpress,然後重新重新整理剛才的頁面,發現可以編輯了。

請問,這個過程中,發生了哪些事情呢?

回複內容:

不登入wordpress的時候,開啟一個網頁,這個網頁不可以編輯。
現在,我登入wordpress,然後重新重新整理剛才的頁面,發現可以編輯了。

請問,這個過程中,發生了哪些事情呢?

你輸對了使用者名稱和密碼之後,伺服器會在你的瀏覽器裡放一個標識,接下來你再訪問的時候伺服器就根據這個標識知道『噢!你就是輸對了密碼的那個人!』,因此就給你看能編輯的頁面。

補充:
噗…第一次見到有不太懂還要求多用術語的,好吧

wordpress根據什麼知道你能不能編輯?
根據你的登入狀態。

它怎麼知道你登入了沒有?
你登入的時候,登入表單發送給服務端程式,程式從資料庫取出使用者並驗證密碼,正確的話就將使用者的id放入session中,你每次訪問的時候因為有session在,服務端就知道你是登入過的使用者,擁有編輯的許可權。

session是怎麼工作的?
http協議是無串連、無狀態的(websocket不算),你每次請求一個地址,伺服器響應結束後,整個http服務過程就結束了,你下次再訪問,伺服器並不知道你是不是剛才那個人。那麼為什麼session知道呢?
session是服務端程式維護的一個資料結構,用於區別登入成功的使用者。當你登入成功後,伺服器會在你的瀏覽器中放一個cookie,其中記錄了一個sessionid,當你再次訪問,瀏覽器會把這個cookie攜帶給伺服器,服務端程式根據其中的sessionid,就知道哪個session是為你開啟的,就可以從其中為你存取資料了。
就好像,服務端為每個使用者開了一個保險柜,服務端雖然不知道來開柜子的人是誰,但只要他帶著鑰匙,就為他開對應的保險箱。

cookie是什嗎?
cookie是在要求-回應的過程中,伺服器存放在瀏覽器中的一些資料,他們很短小。cookie上記錄了他們是在訪問哪個網域名稱時被存放下來的,因此在再次訪問這個網域名稱時,這個網域名稱下的cookie會被攜帶發送給伺服器,伺服器就能讀取它放在瀏覽器裡的資料了。

簡單來說就是這樣

根據登入狀態判斷是否可以有編輯許可權

既然樓主是在PHP下面問的我稍微詳細點,通用的基於cookie的session:
1、第一次開啟一個一般的PHP程式頁面的時候,伺服器端會產生一個標識(session_start);
2、然後伺服器通過http請求中的set-cookie設定到你的瀏覽器中,一般是PHPSESSID;
3、再次向伺服器發送請求的時候,你的瀏覽器都會帶上這個cookie資訊,伺服器通過這個cookie資訊讀取session;
4、登入的時候,伺服器會通過使用者名稱,在資料庫中找到你的使用者資訊,儲存在session中;
5、之後其他所有的請求伺服器端都能通過session讀到你的使用者資訊——會話保持住了;

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.