Heim > Backend-Entwicklung > PHP-Tutorial > wordpress登录后发生了什么?

wordpress登录后发生了什么?

PHPz
Freigeben: 2018-09-28 11:40:31
Original
1254 Leute haben es durchsucht

不登录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读到你的用户信息——会话保持住了;

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage