手机版
你好,游客 登录 注册
背景:
阅读新闻

利用Node.js实现模拟Session验证的登陆

[日期:2014-07-21] 来源:blog.csdn.net/yuanguozhengjust/  作者:袁国正_yy [字体: ]

1.身份验证和用户登陆 

在一般的Web应用上,如果要实现用户登陆,最常用,也是最简单的方法就是使用Session,基本的思路是在Session中保留一些用户身份信息,然后每次在Session中取,如果信息不正确或不存在,那么身份验证失败,正确则成功。

Session和Cookie是两个很相似的东西,都是字符串,只不过Session是保存在服务器上的,而Cookie是保存在本地的,所以Cookie是不能用作身份验证的。Session故名思议,肯定和客户端与服务器间建立的会话相关,Session的工作过程也是如此,每当客户端和服务器上的一个站点建立了会话后,就会生成Session在服务器上,只不过Session里有没有相关的信息,就要看用户的提交操作了。

Session的区分是按照服务器给的SessionID来进行的,不同种类的服务器SessionID不同,以下列举几种SessionID:

①使用ASP.NET的IIS服务器:ASP.NET_SessionId

②使用Java的Tomcat服务器:JSESSIONID

利用Session进行的身份验证过程:

开启了Session支持的服务器在客户端开始会话的时候,生成一个SessionID,并且在响应(Response)头(Headers)中的Set-Cookie字段设置一个Cookie,Cookie的内容就是SessionID和Cookie的路径(path),在后继的会话中,客户端浏览器会自动附上Set-Cookie中的SessionID以向服务器表明身份,服务器根据SessionID在自己的存储中查找相关用户信息,并完成验证过程。

那么用户登陆的过程也就是用户对服务器提交用户名、密码等信息,获取SessionID的过程。

相关阅读

Node.Js入门[PDF+相关代码] http://www.linuxidc.com/Linux/2013-06/85462.htm

Node.js入门开发指南中文版 http://www.linuxidc.com/Linux/2012-11/73363.htm

Node.js安装与配置 http://www.linuxidc.com/Linux/2013-05/84836.htm

Ubuntu 编译安装Node.js http://www.linuxidc.com/Linux/2013-10/91321.htm 

2.如何模拟实现用户登陆

 
模拟用户登陆,不是为了进行暴力破解,而是为了越过某些网站的身份验证,然后获取所需信息,就比如说学校的图书馆,如果在程序中想要获取读者的借阅信息,因为程序不会像浏览器那样自动带上SessionID,那么就必须将用户名和密码提交至服务器,获得到SessionID以后,对后继的请求带着SessionID去请求其他页面,才能获取到借阅信息,大致流程如下:

 

 更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2014-07/104488p2.htm

linux