最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

JavaScript奇技淫巧:網(wǎng)頁內(nèi)容防復(fù)制

2023-03-14 17:57 作者:w2sft  | 我要投稿

JavaScript奇技淫巧:網(wǎng)頁內(nèi)容防復(fù)制

很多時(shí)候,我們不希望自己網(wǎng)頁上的內(nèi)容被復(fù)制,比如原創(chuàng)內(nèi)容、小說、文章等等。

在網(wǎng)頁前端,使用JavaScript編程,似乎有不少防復(fù)制方法,比如:禁用copy事件、禁止鼠標(biāo)右鍵菜單,等等。

但本文要介紹的,不是這些常用的方法,而是把文字變成canvas畫布,畫出的文字是不能被復(fù)制的。

效果展示

如下圖所示,從網(wǎng)頁中復(fù)制文件時(shí),其中有些字是無法選中的。

復(fù)制后再粘貼,會發(fā)現(xiàn)缺失了一些文字:

技術(shù)原理

在指定的文字容器中,將某些文字轉(zhuǎn)化成大小與文字相同的canvas(畫布),并將文字畫在canvas上,形成了文字+圖片的組合。如此,選擇文字時(shí),圖片無法選中,便實(shí)現(xiàn)了防復(fù)制的效果。

源碼

<html>

<body>

? ? <p id="p1">

? ? ? ? JShaman是專業(yè)的JavaScript代碼混淆平臺,用于JS加密、JS混淆。<br>

? ? </p>

? ? <script>

? ? ? ? //將指定文字換成canvas

? ? ? ? function word_2_canvas(target, word,index){

? ? ? ? ? ? var c1 = document.createElement("canvas");

? ? ? ? ? ? //Canvas的大小

? ? ? ? ? ? c1.width = 20;

? ? ? ? ? ? c1.height = 20;

? ? ? ? ? ? c1.id = "c"+index;

? ? ? ? ? ? document.body.appendChild(c1);

? ? ? ? ? ? var t1 = document.getElementById("c"+index).outerHTML;

? ? ? ? ? ? c1.id = "";

? ? ? ? ? ? document.getElementById(target).innerHTML = document.getElementById(target).innerHTML.replace(word, t1)

? ? ? ? }

? ? ? ? //以canvas上畫出文字

? ? ? ? function vanvas_fill_word(word,index){

? ? ? ? ? ? var c2;

? ? ? ? ? ? c2 = document.getElementById("c"+index).getContext("2d");

? ? ? ? ? ? //字體和大小

? ? ? ? ? ? c2.font = '16px Microsoft YaHei';

? ? ? ? ? ? //在Canvas上繪制文本

? ? ? ? ? ? c2.fillText(word, 1, 18);

? ? ? ? }

? ? ? ? word_2_canvas("p1","淆",1);

? ? ? ? word_2_canvas("p1","加",2);

? ? ? ? word_2_canvas("p1","臺",3);

? ? ? ? vanvas_fill_word("淆",1);

? ? ? ? vanvas_fill_word("加",2);

? ? ? ? vanvas_fill_word("臺",3);

? ? ? ?

? ? </script>

</body>

</html>

安全性提升

在上面的JavaScript源碼中,可以看出哪些文字被轉(zhuǎn)化成為了圖片,為了防止源碼分析進(jìn)而被反制,可以用JShaman進(jìn)行JavaScript源代碼混淆加密,加密后的代碼中文字等關(guān)鍵信息可以被隱藏。



JavaScript奇技淫巧:網(wǎng)頁內(nèi)容防復(fù)制的評論 (共 條)

分享到微博請遵守國家法律
临邑县| 泽库县| 名山县| 黄山市| 资溪县| 石狮市| 崇阳县| 临邑县| 镇巴县| 宜都市| 淮安市| 文水县| 志丹县| 保靖县| 勃利县| 平安县| 嘉义县| 怀柔区| 黄冈市| 和林格尔县| 永登县| 永定县| 千阳县| 明水县| 宜昌市| 桂阳县| 新竹市| 兴业县| 阳原县| 陆丰市| 马边| 米林县| 潜山县| 巫溪县| 怀仁县| 蒙阴县| 苍梧县| 那曲县| 澎湖县| 义马市| 凌云县|