<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李威 さぽている

    小說翻譯,日語相關轉移至http://blog.hjenglish.com/liwei

    如何破掉防盜鏈機制

    今天遇到一個問題,寫了一個頁面,抓取其他某站點的內容,然后重組成新的頁面,主要是一個圖片的展示(gallery)。

    但是該站點做了防盜鏈,圖片無法顯示,403.

    這種盜鏈主要是靠Referer來實現的,也就是說更改了Referer就能顯示圖片,但Referer不是在頁面編碼能解決的。

    Referer是瀏覽器發出的,只能更改瀏覽器才能更改Referer。

    firefox有一個插件refcontrol,可以做到這一點,不過不是我要說的

    繼續研究,該站提供一種embed功能,供其他頁面調用,此時就能允許其他站點直接顯示圖片。
    一般網站是不提供這種功能的,所以下面方法并不是所有網站適用的。

    通過對比header內容,最終知道是它在cookie里設定了一個字段,以此來判別。

    那么,只要我設定該值即可。
    兩種方法
    1.服務器端設定set-cookie,試驗證明,此法不可行,主要是domain無法更改到對應站點的domain下
    2.客戶端用javascript設定document.cookie。仍不行……,原因不明,大概也是無法改domain吧

    這下只剩最后一招了,在我的頁面里直接調用embed頁面,讓它替我設cookie,如何調用呢?
    首先想到用frame,試了下,frame和圖片幾乎同時發出request,這樣cookie還沒設定,請求圖片肯定403.
    又想到onload,呃,是在body完了后才調用,肯定不行
    后來看到,html的head里的文件先下載完畢后,再請求圖片。這點我以前也提到過,javascript代碼的執行順序 
    head里主要有2種文件調用,js和css。
    這里就不是什么正規寫法了,因為embed頁面既不是js文件,也不是css文件,但瀏覽器是不會管這個的,直接調用。
    一般也不會這么用……旁門左道
    先用了js這種,在src里寫上embed頁面地址,可以顯示圖片,但有個javascript錯誤。
    接著改進,用css的,會發現最終調用了兩次,一次是在開始,還有一次是在所有其他head文件全下載完之后
    有些小影響,但問題不大。

    時間比較晚,就懶得加上試驗代碼,OK,就這樣,完工。

    posted on 2010-08-10 00:19 李威 閱讀(842) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av午夜福利精品一区人妖| 色影音免费色资源| 亚洲无码黄色网址| 一级白嫩美女毛片免费| 免费人成网站在线播放| 成人特级毛片69免费观看| 亚洲精品乱码久久久久久蜜桃| 免费精品久久久久久中文字幕| 亚洲国产午夜福利在线播放| fc2免费人成为视频| 国产AV无码专区亚洲精品| 99re6在线视频精品免费下载| 亚洲国产夜色在线观看| 最近免费中文字幕大全| 亚洲AV成人片无码网站| 亚洲Av无码乱码在线播放| 青青操视频在线免费观看| 色播亚洲视频在线观看| 在线精品免费视频| 一级毛片在线播放免费| 亚洲av日韩av高潮潮喷无码| 人与禽交免费网站视频| 亚洲国产AV无码一区二区三区| 全黄a免费一级毛片人人爱| 成人妇女免费播放久久久| 亚洲天堂一区二区| 成年美女黄网站色大免费视频| 国产亚洲精品美女2020久久| 亚洲日产无码中文字幕| 222www免费视频| 久久亚洲中文无码咪咪爱| 国产亚洲午夜高清国产拍精品| 久久久久免费看成人影片| 亚洲中文无码永久免费| 国产美女亚洲精品久久久综合| 182tv免费观看在线视频| 色婷婷六月亚洲综合香蕉| 亚洲成A人片在线观看无码不卡| 毛片高清视频在线看免费观看| 一级看片免费视频| 亚洲人成网站日本片|