首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >防止镜像,保护个人网站

防止镜像,保护个人网站

作者头像
姓王者
发布2024-10-31 18:54:12
发布2024-10-31 18:54:12
7870
举报
文章被收录于专栏:姓王者的博客姓王者的博客

你再镜像试试?

本文参考自 保护您的博客不被恶意镜像

源码

可以通过外部资源调用,亦可以直接在<body></body>标签里使用<script></script>来实现

代码语言:javascript
复制
(function () {

            var encodedValidDomain = 'YmxvZy5nb29kYm95Ym95LnRvcA==';//base64加密后的域名
            var encodedredirectUrl = 'aHR0cHM6Ly9ibG9nLmdvb2Rib3lib3kudG9w'//base64加密后的链接,包含协议头
            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);//decodedValidDomain可以替换为自定义水印内容
                var userResponse = confirm("警告:您当前浏览的页面非官方页面,可能存在有害信息!建议您跳转至官方页面进行浏览!");
                if (userResponse) {
                    window.location.replace(redirectUrl);
                }
            }

        })();

此源码:

作者: GoodBoyboy 链接: https://blog.goodboyboy.top/posts/3095793858.html?highlight=镜像 来源: GoodBoyboy 's Blog|惬意小屋-点滴记忆 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我自己使用文心一言来做的代码

代码语言:javascript
复制
(function () {  
    var encodedValidDomain = 'eGluZ3dhbmd6aGUuZnVu'; // base64加密后的域名  
    var encodedredirectUrl = 'aHR0cHM6Ly94aW5nd2FuZ3poZS5mdW4='; // base64加密后的链接,包含协议头  
    var decodedValidDomain = atob(encodedValidDomain);  
    var redirectUrl = atob(encodedredirectUrl);  
    var hostname = document.location.hostname;  
  
    // 创建提示信息的div  
    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) {  
        // 显示提示信息,并在6秒后自动跳转  
        showWarningMessage("警告:您当前浏览的页面非官方页面,可能存在有害信息!您将被自动跳转至官方页面。", 6000);  
    }  
})();
  </script>

它使用了一个自定义的 div 元素来显示提示信息,并在 5 秒后自动跳转到指定的 URL:

混淆

正如原文作者所说,为了防止正则匹配,我们需要混淆,下面是js混淆网站地址

GitHub 上一个项目:https://github.com/javascript-obfuscator/javascript-obfuscator

官方也提供了一个在线工具:https://obfuscator.io/#code

由于存在汉字,记得勾选unicode

建议

使用whois查找域名解析商,域名注册商,站长信息。并利用这些信息进行相关投诉

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文参考自 保护您的博客不被恶意镜像
    • 源码
    • 我自己使用文心一言来做的代码
    • 混淆
    • 建议
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档