你再镜像试试?
源码
可以通过外部资源调用,亦可以直接在<body></body>
标签里使用<script></script>
来实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 (function ( ) { var encodedValidDomain = 'YmxvZy5nb29kYm95Ym95LnRvcA==' ; var encodedredirectUrl = 'aHR0cHM6Ly9ibG9nLmdvb2Rib3lib3kudG9w' var decodedValidDomain = atob (encodedValidDomain); var redirectUrl = atob (encodedredirectUrl); var hostname = document .location .hostname ; function createWatermark (text ) { var watermarkDiv = document .createElement ('div' ); watermarkDiv.style .pointerEvents = 'none' ; watermarkDiv.style .position = 'fixed' ; watermarkDiv.style .top = '0' ; watermarkDiv.style .left = '0' ; watermarkDiv.style .width = '100%' ; watermarkDiv.style .height = '100%' ; watermarkDiv.style .zIndex = '9999' ; watermarkDiv.style .opacity = '0.1' ; watermarkDiv.style .background = 'transparent' ; watermarkDiv.style .overflow = 'hidden' ; watermarkDiv.style .display = 'flex' ; watermarkDiv.style .justifyContent = 'center' ; watermarkDiv.style .alignItems = 'center' ; watermarkDiv.style .flexWrap = 'wrap' ; var watermarkText = document .createElement ('div' ); watermarkText.innerText = text; watermarkText.style .color = 'black' ; watermarkText.style .fontSize = '30px' ; watermarkText.style .transform = 'rotate(-30deg)' ; watermarkText.style .whiteSpace = 'nowrap' ; watermarkText.style .margin = '20px' ; for (var i = 0 ; i < 100 ; i++) { watermarkDiv.appendChild (watermarkText.cloneNode (true )); } document .body .appendChild (watermarkDiv); } if (hostname !== decodedValidDomain) { createWatermark (decodedValidDomain); var userResponse = confirm ("警告:您当前浏览的页面非官方页面,可能存在有害信息!建议您跳转至官方页面进行浏览!" ); if (userResponse) { window .location .replace (redirectUrl); } } })();
此源码:
作者: GoodBoyboy
链接: https://blog.goodboyboy.top/posts/3095793858.html?highlight=镜像
来源: GoodBoyboy 's Blog|惬意小屋-点滴记忆
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
我自己使用文心一言来做的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 (function ( ) { var encodedValidDomain = 'eGluZ3dhbmd6aGUuZnVu' ; var encodedredirectUrl = 'aHR0cHM6Ly94aW5nd2FuZ3poZS5mdW4=' ; var decodedValidDomain = atob (encodedValidDomain); var redirectUrl = atob (encodedredirectUrl); var hostname = document .location .hostname ; function showWarningMessage (message, delay ) { var messageDiv = document .createElement ('div' ); messageDiv.style .position = 'fixed' ; messageDiv.style .top = '50%' ; messageDiv.style .left = '50%' ; messageDiv.style .transform = 'translate(-50%, -50%)' ; messageDiv.style .padding = '20px' ; messageDiv.style .backgroundColor = 'red' ; messageDiv.style .color = 'white' ; messageDiv.style .zIndex = '9999' ; messageDiv.style .boxShadow = '0 0 10px rgba(0, 0, 0, 0.5)' ; messageDiv.innerText = message; document .body .appendChild (messageDiv); setTimeout (function ( ) { document .body .removeChild (messageDiv); window .location .replace (redirectUrl); }, delay); } 检查是否为本地调试域名(可选) if (hostname.includes ('localhost' ) || hostname.includes ('127.0.0.1' )) { return ; } if (hostname !== decodedValidDomain) { showWarningMessage ("警告:您当前浏览的页面非官方页面,可能存在有害信息!您将被自动跳转至官方页面。" , 6000 ); } })(); </script>
它使用了一个自定义的 div 元素来显示提示信息,并在 5 秒后自动跳转到指定的 URL:
混淆
正如原文作者所说,为了防止正则匹配,我们需要混淆,下面是js混淆网站地址
GitHub 上一个项目:https://github.com/javascript-obfuscator/javascript-obfuscator
官方也提供了一个在线工具:https://obfuscator.io/#code
由于存在汉字,记得勾选unicode
建议
使用whois查找域名解析商,域名注册商,站长信息。并利用这些信息进行相关投诉