网站模拟登陆的滑块验证码识别

网站模拟登陆的滑块验证码识别

session和cookie自动登录机制 

HTTP 协议本身是一种 "无状态" 协议。服务器接收到浏览器的请求后,不管是谁请求的,服务器直接返回内容给浏览器。也就是说默认情况下 HTTP 协议的客户端和服务器之间的一次通信和下一次通信之间是没有直接的联系

 

Cookie机制

浏览器工作原理是,用户发给服务器一个请求,服务器收到后做出响应,返回给用户一个网页,浏览器以用户看得懂的方式解析网页。但只有这样是没办法保存用户的登录信息的。cookie的机制是,用户第一次向发送请求后,服务器除了返回网页外还返回需要保存的信息以便下次该用户访问时使用,也可以让服务器辨认出是哪个用户。用户再次登陆时,服务器除了接收到正常的请求外,还收到了cookie里记录的信息,利用这些信息,服务器辨认出用户的登录状态。cookie里的信息是按域名存储的,访问一个网站时只有对应该网站的信息被发送。Cookie是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。cookie的问题是,数据保存在本地,可能导致cookie里的信息泄露。

Cookie 的典型应用: 登录网站中保存用户的身份信息

具体实现:

1. 可以让服务器把用户的所有信息通过 Set-Cookie 返回给浏览器, 直接在浏览器保存, 但是这种做法是不推荐的, 一是因为用户可以手动清除 Cookie 数据 , 其次就是敏感的信息通过网络传输不安全.

2. 更典型靠谱的做法是在服务器这边保存用户的详细信息, 使用键值对来进行保存 (Session) ,键是服务器自动生成的一串唯一字符串 (SessionId), 值就是用户的详细信息了, 服务器就可以把这个键通过 Set-Cookie 返回给浏览器了.

Session机制

session的机制是,用户第一次向发送请求后,服务器除了返回网页外还返回一个sessionID记录在本地。这是个一般人不认识的字符串,下次该用户访问时被传递给服务器,服务器解析后也可以辨认该用户的登录状态。这样信息存储在服务器,相对安全。django生成的数据表里即有django_session存储用户的sessionID.

Cookie 和 Session 的区别

1. Cookie 是客户端的机制, Session 是服务器的机制.

2. Cookie 和 Session 常常会在一起搭配使用, 但是不是必须要搭配.

3.完全可以用 Cookie 来保存一些数据在客户端. 这些数据不一定是用户身份信息, 也不一定是

token / sessionId ; Session 中的 token / sessionId 也不需要非得通过 Cookie / Set-Cookie 传递 .

如何应对网站反爬

使用opencv识别滑动验证码的环境准备

opencv滑动验证码识别原理

通过机器学习平台训练滑动验证码模型

发布训练模型并远程调用识别

posted @ 2024-05-09 01:49  JJJhr  阅读(37)  评论(0编辑  收藏  举报