国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 汪清县| 阳西县| 闽清县| 宿松县| 永吉县| 嘉荫县| 仙游县| 贺兰县| 内黄县| 无棣县| 武鸣县| 通渭县| 吐鲁番市| 咸宁市| 五华县| 永州市| 北安市| 清水县| 松潘县| 沛县| 仲巴县| 大洼县| 洪雅县| 井陉县| 灌阳县| 正宁县| 游戏| 泌阳县| 前郭尔| 漯河市| 南雄市| 岳阳市| 大余县| 赤峰市| 柳林县| 荣昌县| 山西省| 富阳市| 芦山县| 青田县| 宁晋县|