爬虫小白-如何辨别是否有cookie反爬案例

目录

      • 一、Cookie介绍
      • 二、cookie生成来源区分查找
      • 三、如何判断是否有cookie反爬
      • 四、来自服务器生成的cookie反爬解决方法
      • 五、来自js生成的cookie反爬解决方法

一、Cookie介绍

  • 先推荐该篇文章简单了解Cookie、Session、Token、JWT
  • 1、cookie的类型:会话cookie和持久cookie;其唯一的区别在于过期时间,如果设置了Discard参数,或者没有设置Expires或Max-Age参数来说明扩展的过期时间,这个cookie就是一个会话cookie
  • 2、会话cookie:是一种临时的cookie,它记录了用户访问站点时的设置和偏好,用户退出浏览器时,会话cookie就被删除了。
  • 3、 持久cookie的生存时间更长一些,它们存储在硬盘上,浏览器退出,计算机重启时它们仍然存在。通常用持久cookie维护某个用户会周期性访问的配置文件或登录名。

在这里插入图片描述

二、cookie生成来源区分查找

  • 1、cookie参数一般是通过两种方式生成,一种是服务端返回的cookie,另一种是网页端有javascript代码生成的cookie
  • 2、首先将打开谷歌开发者工具(一般按F12即可打开),清除掉网页缓存的cookie参数以及其他的参数,一般我们选择一个Clear Storage即可
    在这里插入图片描述
    在这里插入图片描述
  • 3、清掉缓存后,再刷新网页,同样在谷歌开发者工具Application的位置查看是否有HttpOnly属性,或者是第一个请求的响应头里面的Set-Cookie , 测试网站
    在这里插入图片描述
    在这里插入图片描述

三、如何判断是否有cookie反爬

  • 删掉cookie,重放请求,看是否还能和之前一样请求到一样的响应数据内容,如果能,则没有cookie反爬,如果不能,则有cookie反爬
  • 如何确定cookie哪个参数是反爬的关键,测试法,多个键值对一个一个删,看谁影响到了,具体的看b站视频十一姐时一介绍讲解
  • 测试:通过重放请求与删除单个cookie测试
    在这里插入图片描述
    在这里插入图片描述

四、来自服务器生成的cookie反爬解决方法

  • 1、来自服务器生成的cookie,一般我们不用管,只需要请求对应的链接即可,可以直接用会话session保持,比如requests里面的session

  • 2、案例一,szxx_session的cookie反爬 , 以及请求头参数X-Csrf-Token反爬
    在这里插入图片描述

    # -*- coding: utf-8 -*-            
    # @Time : 2023-07-23
    # @Author: sy
    # @公众号: 逆向OneByOne
    # @url: http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc
    import urllib3
    import re
    from loguru import logger
    import requests
    urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)def _requests(url, data=None):if data:res = ses.post(url, headers=headers, data=data, timeout=10)else:res = ses.get(url, headers=headers, timeout=10)logger.info(f">>>requests {url}")logger.success(f">>>status_code 【{res.status_code}】 res.cookies {res.cookies} ses.cookies {ses.cookies}")if res.status_code in [521, 412, 202, 200]:return resdef page(token):post_url = "http://www.zjmazhang.gov.cn/hdjlpt/letter/pubList"form_data = {"offset": "0","limit": "20","site_id": "759010"}headers.update({"X-Csrf-Token": token})resp = _requests(post_url, form_data)print(resp.text)print("请问麻章区办理居住证需要满足什么条件?" in resp.text)def index():index_url = "http://www.zjmazhang.gov.cn/hdjlpt/published?via=pc"resp = _requests(index_url)print("请问麻章区办理居住证需要满足什么条件?" in resp.text)xsrf_token = re.search(r"var _CSRF = '(.*?)';",resp.text).group(1)return xsrf_tokenses = requests.session()
    headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9","User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"
    }
    _token = index()
    page(_token)
    

五、来自js生成的cookie反爬解决方法

  • 1、来自js生成的cookie需要解密研究,可以通过hook-cookie的方式定位,cookie生成位置,然后回溯生成逻辑过程
    (function() {'use strict';var _cookie = ""; // hook cookieObject.defineProperty(document, 'cookie', {set: function(val) {console.log('cookie set->', new Date().getTime(), val);debugger;_cookie = val;return val;},get: function() {return _cookie;}});
    })()
    
  • 正在找案例中,本次不讲

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[驱动开发]字符设备驱动应用——点灯

点亮开发板stm32mp157的三盏灯 //头文件 #ifndef __LED_H__ #define __LED_H__//封装GPIO寄存器 typedef struct { volatile unsigned int MODER; // 0x00volatile unsigned int OTYPER; // 0x04volatile unsign…

Linux Day01

目录 一、Linux终端介绍 二、Linux目录介绍 1.目录结构 2.常见目录说明 3.绝对路径与相对路径 4.家目录 一、Linux终端介绍 二、Linux目录介绍 Linux目录:是从根目录"/"开始的 是一棵倒着的树 1.目录结构 2.常见目录说明 目前记住 bin 存放常用命…

跨境独立站如何应对恶意网络爬虫?

目录 跨境出海独立站纷纷成立 爬虫威胁跨境电商生存 如何有效识别爬虫? 技术反爬方案 防爬虫才能保发展 中国出海跨境电商业务,主要选择大平台开设店铺,例如,亚马逊、eBay、Walmart、AliExpress、Zalando等。随着业务的扩大&…

使用springboot进行后端开发100问

properties和yaml文件怎么互转 安装插件 properties文件和yaml文件区别 properties 文件通过“.”和“”赋值,值前不加空格,yaml通过“:”赋值,值前面加一个空格;yaml文件缩进用空格; properties只支持键值对&#x…

Ubuntu下打开QtCreator环境变量LD_LIBRARY_PATH与终端不一致

问题描述: 在unbuntu下使用QtCreator编译、运行程序时,总是出现XXX.so: cannot open shared object file: No such file or directory这类问题,但是在终端中编译或者运行程序则不会出现这些问题。在网上查了好久才明白QtCreator在打开时&…

逻辑漏洞原理及实战

前言 作者简介:不知名白帽,网络安全学习者。 博客主页:不知名白帽_网络安全,CTF,内网渗透-CSDN博客 网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan 目录 逻辑漏洞基础 概述 分类 URL跳转漏洞 概述 危害 漏洞…

51单片机串口

该部分的笔记来自视频教程链接https://www.bilibili.com/video/BV1bt4y197NR/?spm_id_from333.788&vd_sourceb91967c499b23106586d7aa35af46413 一、51单片机串口基础介绍 一般的应用层的协议中采用和校验或CRC校验,而奇偶校验还是解决基本通信中的帧格式中的…

Eclipse整合tomcat时要注意的几点

Eclipse整合tomcat时要注意的几点 1、安装目录及jdk 2、参数配置 注意:Arguments的配置,日志输出文件目录及java内存大小设置等,如下: -Dcatalina.base"E:\apache-tomcat-7.0.52" -Dcatalina.home"E:\apache-tomc…

无符号数和有符号数的“bug”

1. 起因 在实现kmp算法时&#xff0c;出现了诡异的现象&#xff0c;看下面的代码&#xff1a; int KMP (const char *s, const char *t) {int lenS strlen (s);int lenT strlen (t);int next[lenT];get_next (next, t);int i 0;int j 0;while (i < lenS && j …

程序化广告还有未来么?——程序化领域变化的底层逻辑和反思

三、近几年程序化广告领域的变化底层逻辑是什么呢&#xff1f; 当前国内程序化生态的状态&#xff0c;更像是希腊的古典时代&#xff1a;古希腊时代的城邦高度繁荣的时期。很多人可能对古希腊城邦没有概念&#xff0c;我们解释一下&#xff1a; 所谓城邦就是城市国家&#xff0…

涵子来信——自己的电脑——谈谈想法

大家好&#xff1a; 上一次谈论了苹果的那些事&#xff0c;今天我们来聊聊电脑。 我的第一台电脑现在成了这样子&#xff1a; 很多人以为是我自己拆了电脑做研究&#xff0c;其实是我的第一台电脑&#xff0c;真的坏了。 2021年&#xff0c;我有了属于我自己的第一台电脑&am…

链表 --- C语言实现

本篇文章来详细介绍一下数据结构中的链表。 目录 1.链表的概念及结构 2.链表的分类 3.单链表的实现 4.链表的面试题 5.双向链表的实现 6.顺序表和链表的区别 1.链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素…

【HTML5】拖放详解及实现案例

文章目录 效果预览代码实现 效果预览 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>一颗不甘坠落的流星</title><style>#div1,#div2 {float: left;width: 100px;height: 27px;margin: 10px;paddin…

关于 Qt在windows使用mingw32编译器时从Qt5.9切换至Qt5.12出现“C2001:常量中有换行符“不修改编码 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131901444 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

day33哈希表

1.哈希表 常见的哈希表分为三类&#xff0c;数组&#xff0c;set&#xff0c;map&#xff0c;C语言的话是不是只能用数组和 2.例题 题目一&#xff1a; 分析&#xff1a;题目就是判断两个字符串出现的次数是否相同&#xff1b; 1&#xff09;哈希表26个小写字母次数初始化为0&…

RB-tree(红黑树)详解

RB-tree(红黑树) 红黑树的规则如下&#xff1a; 1.每个节点不是红色就是黑色 2.根节点为黑色 3.如果节点为红色&#xff0c;那么它的子节点必须为黑色 4.任何一个节点到NULL&#xff08;树的尾端&#xff09;的任何路径所包含的黑节点个数相同 简而言之就是每个路径的黑色节点数…

模拟量输出FC S_RTI(信捷C语言源代码)

模拟量输出FC SCL源代码请查看下面博客: PLC模拟量输出 模拟量转换FC S_RTI_博途模拟量转换指令_RXXW_Dor的博客-CSDN博客1、本文主要展示西门子博途模拟量输出转换的几种方法, 方法1:先展示下自编FC:计算公式如下:intput intput Real ISH Real //工程量上限 ISL Real //工…

【数据挖掘】将NLP技术引入到股市分析

一、说明 在交易中实施的机器学习模型通常根据历史股票价格和其他定量数据进行训练&#xff0c;以预测未来的股票价格。但是&#xff0c;自然语言处理&#xff08;NLP&#xff09;使我们能够分析财务文档&#xff0c;例如10-k表格&#xff0c;以预测股票走势。 二、对自然语言处…

【OpenCV】常见问题及解决办法

文章目录 0 前言1 中文乱码问题2 非法路径问题 0 前言 本篇博客主要是总结OpenCV使用过程中遇到的一些问题&#xff0c;以及对应的解决办法&#xff0c;这里重点是关注OpenCV&#xff0c;既有基于C的&#xff0c;也有基于Python的&#xff0c;比较全面&#xff0c;而且也会随着…