找回密码
 快速注册
搜索
查看: 65|回复: 1

[续帖] Wayback Machine 分析

[复制链接]

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-8-10 17:52 |阅读模式
  1. #!/usr/bin/env node
  2. "use strict";
  3. var http = require('http');
  4. http.createServer(function (req, res) {
  5.     console.log(req.headers['cookie']);
  6.     res.setHeader("Set-Cookie",'__test=bf16be7e1cad023ea994c34ab6f950cb; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/');
  7.     res.writeHead(302, {'Location': '1.html'});
  8.     res.end();   
  9. }).listen(3001);
复制代码

代码解释:
首先设置了Cookie
__test:"bf16be7e1cad023ea994c34ab6f950cb"
Expires / Max-Age:"Thu, 31 Dec 2037 23:55:55 GMT"
Path:"/"

然后会首先重定向到1.html, 然后进入重定向到自己的死循环
浏览器的响应: 只有1次undefined然后很多次正确的cookie
分析: 第一次就成功设置了Cookie并重定向到1.html,经过很多次以后自动跳出死循环
Untitled.png
爬虫的响应: 很多次undefined然后很多很多次正确的cookie
分析: 很多次以后才能成功设置Cookie并重定向到1.html,经过很多很多次以后自动跳出死循环
Untitled.png

结论: 说明爬虫可以设置Cookie的 (但是需要重复设很多次?) 但是Cookie不会保存.
另外, 在这帖中, 完全是用JS做的重定向, 而爬虫确实可以重定向到&i=1和&i=2和&i=3, 说明爬虫可以执行JS, 而且优先执行重定向的JS而不是设置Cookie的JS.

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2022-8-10 22:32
这次把redirect(重定向)换成refresh(刷新)试一下:
  1. #!/usr/bin/env node
  2. "use strict";
  3. var http = require('http');
  4. http.createServer(function (req, res) {
  5.     if(req.headers['cookie']){
  6.         console.log(req.headers['cookie']);
  7.         res.write("<h1>Successfully Set Cookie</h1>");
  8.     }else{
  9.         console.log('No cookie');
  10.         res.setHeader("Set-Cookie",'__test=bf16be7e1cad023ea994c34ab6f950cb; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/');
  11.         res.setHeader("Refresh", "1");
  12.         res.write("<h1>No Cookie</h1>");
  13.     }
  14.     res.end();
  15. }).listen(3001);
复制代码

代码解释:如果设置了Cookie就结束;如果没有设置Cookie就设置Cookie并延迟1秒刷新.
浏览器:第一次就设置好了Cookie,然后又刷新了两次. Untitled.png
爬虫:(刚开始需要等待很久)第二次才设置好Cookie,然后又刷新了三次.
结果是Saved 2 times August 10, 2022.(保存了该页面两次)
Untitled.png
Untitled.png

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 15:46

Powered by Discuz!

× 快速回复 返回顶部 返回列表