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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    HTTP-REFERER這個變量本來是用來驗證你所打開頁面的來源的,防止別的網站盜鏈,不過已經越來越不可靠了,完全就是可以偽造出來的。

    以下是偽造方法:

    ASP:

    dim http

    set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以

    Http.open "GET",url,false

    Http.setRequestHeader "Referer","http://www.05809.cn/"

    Http.send()

    PHP(前提是裝了curl):

    $ch = curl_init();

    curl_setopt ($ch, CURLOPT_URL, "http://www.05809.cn/xxx.asp");

    curl_setopt ($ch, CURLOPT_REFERER, "http://www.05809.cn/");

    curl_exec ($ch);

    curl_close ($ch);

    PHP(不裝curl用sock)

    $server = 'www.dc9.cn';

    $host = 'www.dc9.cn';

    $target = '/xxx.asp';

    $referer = 'http://www.dc9.cn/'; // Referer

    $port = 80;

    $fp = fsockopen($server, $port, $errno, $errstr, 30);

    if (!$fp)

    {

    echo "$errstr ($errno)<br />\n";

    }

    else

    {

    $out = "GET $target HTTP/1.1\r\n";

    $out .= "Host: $host\r\n";

    $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEG\r\n";

    $out .= "Referer: $referer\r\n";

    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);

    while (!feof($fp))

    {

    echo fgets($fp, 128);

    }

    fclose($fp);

    }


    VB.NET/C#.NET

    Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()

    或者

    MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();

    oXMLHttp.open(....

    oXMLHttp.setRequestHeader(...

    oXMLHttp.send(..

    javascript

    xmlHttp.setRequestHeader("Referer", "http://URL");



    JS不支持(郁悶中。。。)

    原理都是sock構造http頭來senddata。其他語言什么的比如perl也可以,

    目前比較簡單的防御偽造referer的方法是用驗證碼(Session)。

    現在有一些能防盜鏈軟件的商業公司比如UUDOG,linkgate,VirtualWall什么的,都是開發的應用于IIS上面的dll。

    有的是采用cookies驗證、線程控制,有的是能隨機生成文件名然后做URL重寫。有的方法能的確達到不錯的效果.
    反盜鏈
      1、不定期更名文件或者目錄
      不定期的更改文件或者目錄的名稱,是最原始的反盜鏈的方式,可以比較有效地防止盜連,這種方法一般工作量比較大。但是批量的文件改名是完全可以自動化的,而且也比較容易實現。在文件的更名過程中, 可能會有客戶正在下載該文件,這樣會導致正常的客戶訪問失敗,盡管這個問題容易解決,但是也不能夠忽視。
      2、限制引用頁
      這種防盜鏈原理是,服務器獲取用戶提交信息的網站地址,然后和真正的服務端的地址相比較,如果一致則表明是站內提交,或者為自己信任的站點提交,否則視為盜鏈。實現時可以使用HTTP_REFERER1 和htaccess 文件(需要啟用mod_Rewrite),結合正則表達式去匹配用戶的每一個訪問請求。對于每一個HTTP 請求, 服務器都要查找.htaccess 文件,增加了讀取文件的次數,一定程度上降低了性能。另外,服務器打開這個功能,有比較多的限制。
      3、文件偽裝
      文件偽裝是目前用得最多的一種反盜鏈技術,一般會結合服務器端動態腳本(PHP/JSP/ASP)。實際上用戶請求的文件地址,只是一個經過偽裝的腳本文件,這個腳本文件會對用戶的請求作認證,一般會檢查Session,Cookie 或HTTP_REFERER 作為判斷是否為盜鏈的依據。而真實的文件實際隱藏在用戶不能夠訪問的地方,只有用戶通過驗證以后才會返回給用戶。
      4、加密認證
      這種反盜鏈方式,先從客戶端獲取用戶信息,然后根據這個信息和用戶請求的文件名字一起加密成字符串(Session ID)作為身份驗證。只有當認證成功以后,服務端才會把用戶需要的文件傳送給客戶。一般我們會把加密的Session ID 作為URL 參數的一部分傳遞給服務器,由于這個Session ID 和用戶的信息掛鉤,所以別人就算是盜取了鏈接,該Session ID 也無法通過身份認證,從而達到反盜鏈的目的。這種方式對于分布式盜鏈非常有效。
      5、隨機附加碼
      每次,在頁面里生成一個附加碼,并存在數據庫里,和對應的圖片相關,訪問圖片時和此附加碼對比,相同則輸出圖片,否則輸出404圖片
      6、其它方法
      其它反盜鏈方式也有不少, 這里只列出一個大概思想作為參考:⑴ IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;⑵ 圖片反盜鏈,在圖片中加入水印,雖然盜鏈者可以達到目的,但是卻也在為自己的網站做宣傳。


    不過道高一尺,魔高一丈,這些雕蟲小技終歸是有破解方法的。
    posted on 2009-11-02 19:44 HUIKK 閱讀(1423) 評論(0)  編輯  收藏 所屬分類: Html
    主站蜘蛛池模板: 亚洲日韩中文字幕在线播放| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 中文字幕在线日亚洲9| 57pao一国产成视频永久免费| 亚洲国产aⅴ综合网| 国产在亚洲线视频观看| 免费特级黄毛片在线成人观看| 亚洲精品伊人久久久久| 久草视频免费在线| 色噜噜亚洲男人的天堂| 无码一区二区三区免费视频| 亚洲色偷偷综合亚洲av78| 国产网站免费观看| a级毛片免费高清视频| 久久精品国产亚洲一区二区| 无码AV片在线观看免费| 亚洲国产理论片在线播放| 国产成人免费网站| 亚洲国产成人精品无码区花野真一 | 免费看国产一级特黄aa大片| 国产精品亚洲一区二区在线观看 | 亚洲中文字幕无码av永久| 日本精品人妻无码免费大全| 亚洲国产无线乱码在线观看 | 久久精品免费全国观看国产| 在线亚洲高清揄拍自拍一品区| 免费看大美女大黄大色| 美女尿口扒开图片免费| 亚洲精品乱码久久久久久| 久久aⅴ免费观看| 中文字幕亚洲综合小综合在线| 免费A级毛片在线播放不收费| 在线免费观看伊人三级电影| 亚洲国产精品人久久| 午夜寂寞在线一级观看免费| 一级白嫩美女毛片免费| 亚洲美女自拍视频| 国产特级淫片免费看| 国偷自产一区二区免费视频| 亚洲免费闲人蜜桃| 亚洲精品国产高清不卡在线|