使用 javascript 篡改用户的复制内容

早期互联网上流行的防止copy方法,禁掉右键,其实查看源代码或者 ctrl-c 后,秘密就无处遮掩了,只防纯小白。这次实验新的方法来解决查看源代码与 ctrl-c 的问题(当然 firebug 类工具还是无法欺骗的),首先声明我支持开放,Just For Fun !(感谢 lifesinger 的关键技术点探索)。

 

PS:根据众多网友反馈,该方法在使用浏览器工具栏编辑菜单复制时失效,也可改作监听尚不标准但广泛实现的 copy 事件,那么这时也不需要禁用右键 了。

 

no-copy demo

 

1.看 html 源代码 :空,内容全部由 javascript 生成,缺点就是 SEO 悲剧了。

 

2.看 javascript 源代码 :要抽取你想要的内容,先不说业务复杂情况下看懂的成本,首先先要 unicode 解码,如果内容飞散开来,即使开发者估计也会望而却步吧。

 

3.最后:ctr-c 看看你的剪贴板吧

 

原理:


其实很简单:


1.监控 ctrl -c 按键 copy 事件,选择警告信息 textarea,这样子 ctrl-c copy 就会作用到警告信息textarea 了,剪贴板中就是警告信息了。

 

<textarea>禁止copy!</textarea>

 

2.阻止 document 上的 contextmenu 事件



3.选择区域的恢复,在 select textarea 后,异步恢复原先用户的选择区域,这样才能真正神不知鬼不觉:)

 


源码:


no-copy 源码

 


应用点2:阻止 copy 钓鱼网址

 

 

有时候不法网页中会发布一些钓鱼网站 (fraud?),为了伪装会采用:

 

 

http://www.tao<span style="display:none;">123</span>bao.com
 


当你复制后,如果不注意直接黏在浏览器上打开就中计了,仔细一点会发现其实复制的是 http://www.tao123bao.com,这种情况下就可以利用上面的方法,过滤用户原先复制的内容进而篡改用户 copy 的内容,实现乾坤大挪移:



no-fraud demo

 

 

注意点:


1.ie 与 标准浏览器的range区别

 

2.非法内容的过滤,如不可见标签内容:

 

function clear(node) {
        var style = node.style;
        if ((style.position != "" && style.position != "static")
                ||
                style.display == "none"
                || style.visibility == "hidden"
                ) {
            node.parentNode.removeChild(node);
            return true;
        }
        return false;
    }
 

3.事前保存选择区域,事后进行选择区域恢复

 

no-fraud 源码

 

 

修订于:2010-08-13

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值