破解使用做了防盜的圖片
下面讓我們使用一個簡單的方法就能搞定。
首先我們都明白,所謂防盜的原理也就是判斷圖片引用來源。所以,只要我們在這上面做文章就行了
實現思路,使用<Iframe>標籤替代<IMG>標籤,<Iframe>的src指向空白頁“about:blank”,然後用腳本創建一個IMG對象,IMG對象的src屬性指向原始圖片路徑,最後把IMG追加到<Iframe>的document內,並隱藏原始圖片既可,這樣服務器再取到的圖片引用路就是空,也就可以顯示圖片了
我把代碼做成了htc文件(htc只支持IE,其它瀏覽器各位可按此思路處理)
把下面代碼Copy到RemotingImage.htc內:
if(element.src.toLowerCase().indexOf("sina.com.cn") > -1)
{
var link = null;
if (element.parentElement.tagName.toUpperCase() == "A")
{
link = element.parentElement.href;
}
var id = "x_" + Math.random().toString().replace(".", "");
var src = element.src + "?txyule.cn";
element.outerHTML = "<iframe src='about:blank' name='"+ id +"' style='width:1px;height:1px'></iframe>"
var doc = window[id].document;
var img = doc.createElement("IMG");
img.src = src;
img.parentWindow = id;
img.onload = function()
{
//window.status = (this.src + "[" + this.width + ":" + this.height + "]");
var win = window.document.getElementById(this.parentWindow);
win.style.width = this.width;
win.style.height = this.height;
}
if (link == null)
{
doc.appendChild(img);
}
else
{
img.border = 0;
var a = doc.createElement("A");
a.href = link;
a.target = "_blank";
a.appendChild(img);
doc.appendChild(a);
}
}
</script>
在HTML頁面內爲IMG定義樣式時加上:img{behavior:url(/RemotingImage.htc)}
這相示例是我處理新浪圖片時做的
哈,搞定,就是這麼簡單。。。
來看看我的網站效果吧 http://www.txyule.cn/ 內容都抓自新浪博客,裏面的圖片也都是引用新浪的圖片
怎麼樣,效果不錯吧