JavaScript奇技淫巧:网页内容防复制
很多时候,我们不希望自己网页上的内容被复制,比如原创内容、小说、文章等等。
在网页前端,使用JavaScript编程,似乎有不少防复制方法,比如:禁用copy事件、禁止鼠标右键菜单,等等。
但本文要介绍的,不是这些常用的方法,而是把文字变成canvas画布,画出的文字是不能被复制的。
效果展示
如下图所示,从网页中复制文件时,其中有些字是无法选中的。
复制后再粘贴,会发现缺失了一些文字:
技术原理
在指定的文字容器中,将某些文字转化成大小与文字相同的canvas(画布),并将文字画在canvas上,形成了文字+图片的组合。如此,选择文字时,图片无法选中,便实现了防复制的效果。
源码
JShaman是专业的JavaScript代码混淆平台,用于JS加密、JS混淆。
安全性提升
在上面的JavaScript源码中,可以看出哪些文字被转化成为了图片,为了防止源码分析进而被反制,可以用JShaman进行JavaScript源代码混淆加密,加密后的代码中文字等关键信息可以被隐藏。