送彩金娱乐官方网站

wordpress登录后发生了什么?

php luofeiyu 2016年05月27日提问
关注 4 关注
收藏 0 收藏,651 浏览
问题对人有帮助,内容完整,我也想知道答案0 问题没有实际价值,缺少关键内容,没有改进余地
不登录wordpress的时候,打开一个网页,这个网页不可以编辑。
现在,我登录wordpress,然后重新刷新刚才的页面,发现可以编辑了。

请问,这个过程中,发生了哪些事情呢?
2016年05月27日提问评论邀请回答编辑
默认排序时间排序
3个回答

答案对人有帮助,有参考价值0 答案没帮助,是错误的答案,答非所问

已采纳
你输对了用户名和密码之后,服务器会在你的浏览器里放一个标识,接下来你再访问的时候服务器就根据这个标识知道『噢!你就是输对了密码的那个人!』,因此就给你看能编辑的页面。

补充:
噗…第一次见到有不太懂还要求多用术语的,好吧

wordpress根据什么知道你能不能编辑?
根据你的登录状态。

它怎么知道你登录了没有?
你登录的时候,登录表单发送给服务端程序,程序从数据库取出用户并验证密码,正确的话就将用户的id放入session中,你每次访问的时候因为有session在,服务端就知道你是登录过的用户,拥有编辑的权限。

session是怎么工作的?
http协议是无连接、无状态的(websocket不算),你每次请求一个地址,服务器响应结束后,整个http服务过程就结束了,你下次再访问,服务器并不知道你是不是刚才那个人。那么为什么session知道呢?
session是服务端程序维护的一个数据结构,用于区别登录成功的用户。当你登录成功后,服务器会在你的浏览器中放一个cookie,其中记录了一个sessionid,当你再次访问,浏览器会把这个cookie携带给服务器,服务端程序根据其中的sessionid,就知道哪个session是为你打开的,就可以从其中为你存取数据了。
就好像,服务端为每个用户开了一个保险柜,服务端虽然不知道来开柜子的人是谁,但只要他带着钥匙,就为他开对应的保险箱。

cookie是什么?
cookie是在请求-响应的过程中,服务器存放在浏览器中的一些数据,他们很短小。cookie上记录了他们是在访问哪个域名时被存放下来的,因此在再次访问这个域名时,这个域名下的cookie会被携带发送给服务器,服务器就能读取它放在浏览器里的数据了。

简单来说就是这样
2016年05月27日更新1 评论编辑

SevenOutman
600 声望
答案对人有帮助,有参考价值0 答案没帮助,是错误的答案,答非所问
根据登录状态判断是否可以有编辑权限
2016年05月27日回答评论编辑

TIGERB
6.1k 声望
答案对人有帮助,有参考价值0 答案没帮助,是错误的答案,答非所问
既然楼主是在PHP下面问的我稍微详细点,通用的基于cookie的session:
1、第一次打开一个一般的PHP程序页面的时候,服务器端会生成一个标识(session_start);
2、然后服务器通过http请求中的set-cookie设置到你的浏览器中,一般是PHPSESSID;
3、再次向服务器发送请求的时候,你的浏览器都会带上这个cookie信息,服务器通过这个cookie信息读取session;
4、登录的时候,服务器会通过用户名,在数据库中找到你的用户信息,保存在session中;
5、之后其他所有的请求服务器端都能通过session读到你的用户信息——会话保持住了;

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>