国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

利用cookies獲取登錄后的網(wǎng)頁(yè)

2019-11-14 17:08:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  眾所周知,HTTP連接是無(wú)狀態(tài)的,那么問(wèn)題來(lái)了,怎么記錄用戶的登錄信息呢?通常的做法是用戶第一次發(fā)送HTTP請(qǐng)求時(shí),在HTTP Server端生成一個(gè)sessionID,SessionID會(huì)對(duì)應(yīng)每個(gè)會(huì)話的狀態(tài)(比如是否登錄,等等),并且將SessionID保存在瀏覽器的cookies中。我們登錄一個(gè)網(wǎng)頁(yè)后,打開另外一個(gè)窗口訪問(wèn)相同的網(wǎng)頁(yè)不需要登錄,就是因?yàn)閮蓚€(gè)網(wǎng)頁(yè)都對(duì)應(yīng)同一個(gè)cookies。

  有時(shí)在做python爬蟲時(shí),需要訪問(wèn)登錄后才可以訪問(wèn)的網(wǎng)頁(yè),利用已經(jīng)登錄的cookie文件就可以達(dá)到此目的。下面以迅雷網(wǎng)為例來(lái)做實(shí)驗(yàn),實(shí)驗(yàn)平臺(tái)為linux

  1. 首先在Firefox瀏覽器端登錄迅雷網(wǎng),使用Firebug插件導(dǎo)出cookies。

  2. 修改cookies的格式,假設(shè)文件名為xunlei.txt,正確的格式如下:

 1 # Netscape HTTP Cookie File. 2 # Generated by Wget on 2015-06-27 23:54:34. 3 # Edit at your own risk. 4  5 .dynamic.i.xunlei.com   TRUE    /   FALSE   1498494348  __utma  74633479.1276576155.1435422349.1435422349.1435422349.1 6 .i.xunlei.com   TRUE    /   FALSE   1498494325  __utma  112570076.1792933177.1435422325.1435422325.1435422325.1 7 .dynamic.i.xunlei.com   TRUE    /   FALSE   1435424148  __utmb  74633479.1.10.1435422349 8 .i.xunlei.com   TRUE    /   FALSE   1435424125  __utmb  112570076.1.10.1435422325 9 .dynamic.i.xunlei.com   TRUE    /   FALSE   1498494348  __utmc  7463347910 .i.xunlei.com   TRUE    /   FALSE   1498494348  __utmc  11257007611 .i.xunlei.com   TRUE    /   FALSE   1435422925  __utmt  112 .dynamic.i.xunlei.com   TRUE    /   FALSE   1451190348  __utmz  74633479.1435422349.1.1.utmcsr=i.xunlei.com|utmccn=(referral)|utmcmd=referral|utmcct=/login.html13 .i.xunlei.com   TRUE    /   FALSE   1451190325  __utmz  112570076.1435422325.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)14 dynamic.i.xunlei.com    FALSE   /   FALSE   1498494348  __xltjbr    143542234755615 dynamic.i.xunlei.com    FALSE   /   FALSE   1435424148  _s19    1435770994546b1435422324953b2bhttp%3A//dynamic.i.xunlei.com/user
# cookies行數(shù)比較多,就不寫了,有三個(gè)地方注意:
# 1.第一行不能少,并且一個(gè)字符都不能錯(cuò)。
# 2.格式要嚴(yán)格為(空白處為TAB):
域 [TRUE或FALSE]  / [TRUE或FALSE]  過(guò)期時(shí)間戳  名稱  內(nèi)容

  3. 使用python代碼讀取xunlei.txt,并訪問(wèn)登錄后才能訪問(wèn)的網(wǎng)頁(yè),例如:http://dynamic.i.xunlei.com/user

下面為源代碼:

 1 import cookielib, urllib2 2  3 cookie = cookielib.MozillaCookieJar() 4 cookie.load("xunlei.txt") 5 handle=urllib2.HTTPCookiePRocessor(cookie) 6 opener = urllib2.build_opener(handle) 7 urllib2.install_opener(opener) 8  9 url = "http://dynamic.i.xunlei.com/user"10 req = urllib2.Request(url)11 response = urllib2.urlopen(req)12 print response.read()

  4. 打印出來(lái)的代碼即為我登錄后,在http://dynamic.i.xunlei.com/user看到的內(nèi)容。

 

  以上的原理與CSRF攻擊的原理類似,CSRF攻擊的就是利用非法獲得用戶cookies,偽裝成用戶進(jìn)行操作。針對(duì)這種攻擊,web站點(diǎn)可以生成token,HTTP Server會(huì)驗(yàn)證每次請(qǐng)求的token,來(lái)避免CSRF攻擊,例如Django的CsrfViewMiddleware。

  但是token依然被放在了cookies中,依然可以進(jìn)行CSRF攻擊,只不過(guò)攻擊的方式復(fù)雜了些。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高要市| 库车县| 神农架林区| 大英县| 阿拉善盟| 汶上县| 惠安县| 永仁县| 化隆| 翁牛特旗| 平山县| 石景山区| 岢岚县| 广平县| 隆回县| 新巴尔虎左旗| 公安县| 宽甸| 团风县| 贵定县| 博乐市| 周至县| 雅江县| 利川市| 安泽县| 浏阳市| 咸阳市| 永和县| 日喀则市| 永嘉县| 正宁县| 巨鹿县| 泰顺县| 嵊泗县| 南澳县| 合阳县| 横山县| 大宁县| 舒兰市| 祁门县| 纳雍县|