网页在线反调试:如何让白嫖者无所遁形
01事件描述
群内聊天时 , 一位群友请教我如何防止自己的网页被扒 。 我也无可奈何地告诉他 , 只要显示在了网页上 , 那就没有什么东西是可以隐藏的 , 顶多就是加密 。 (当然 , 也有可以隐藏网站源码的东西 , 不过那玩意很贵而且限制很大)
在他的苦苦央求下 , 我开始了网页反调试的探索:
本文插图
02添加代码
【网页在线反调试:如何让白嫖者无所遁形】
正常打开浏览器调试工具的思路:
- F12 -> 开发者工具
- 右键 -> 开发者工具
- 浏览器设置 -> 工具 -> 开发者工具
03解决办法
- 禁用F12
- 禁用鼠标右键
- 检测开发者工具
/*禁用鼠标右键*/<script type="text/javascript"> document.oncontextmenu = function{ alert("当前页面不能使用右键!"); return false; }</script>
预览禁用鼠标右键
<script type="text/javascript">document.onkeydown = function{if(window.event && window.event.keyCode == 123) { alert("F12被禁用"); event.keyCode=0; event.returnValue=http://news.hoteastday.com/a/false; } if(window.event && window.event.keyCode == 13) { window.event.keyCode = 505; } if(window.event && window.event.keyCode == 8) { alert(str+"\n请使用Del键进行字符的删除操作!"); window.event.returnValue=http://news.hoteastday.com/a/false; }}
预览禁用F12按键
<script type="text/javascript">setInterval(function {check}, 4000);var check = function {function doCheck(a) {if (("" + a/a)["length"] !== 1 || a % 20 === 0) {(function {}["constructor"]("debugger"))} else {(function {}}doCheck(++a)}try {doCheck(0)} catch (err) {}};check;</script>
预览禁用调试器
以上三种仅是普通的反网页调试的办法 , 你甚至可以添加蓝屏代码或者退出代码等等 , 不过这些都会影响到我们网站的阅读性和亲和性
我建议呢 , 禁用一个调试器足矣 , 并且添加一个判断是否是管理员登录 , 避免站长在调试网站时无法正常打开调试面板 。
04PHP代码
function anti-debug {if(ludou_is_administrator==0){ echo '<script src="http://news.hoteastday.com/a/你的反调试代码地址"></script>';}}add_action( 'wp_footer', 'anti-debug', 100 );
我将js代码稍做了点修改 , 并且混淆加密了js代码 , 以下是本站反调试的情况
本文插图
- 火星|我国打造太空核反应堆,功率高达一兆瓦,可为月球和火星基地供电
- 支付宝|欠债3000亿,宣布破产!昔日民族品牌,为何总沦为反面教材?
- 电子商务|官方点名才重视?腾讯公开回应,马化腾该好好反思了
- 癌细胞|为什么自然界中的动物不怕生肉的寄生虫,反而怕受伤呢?
- 小米科技|OV并没有借助这种风评,在线上市场形成,能和线下匹配的号召力
- NASA|中国的“人造太阳”!将比美国宇航局核反应堆强大100倍!
- 超能力|反常?科学家拍到罕见画面:猩猩生吞一只懒猴,人类需要负责?
- 联想|柳传志和杨元庆并不是罪人,网民的反应过激了
- 小米科技|MIUI改进有望!小米推出Bug反馈激励:送新款千元机
- 太空|中国将在太空计划中开发核能,最新反应堆动力比美国强100倍