你再镜像试试?

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

源码

可以通过外部资源调用,亦可以直接在<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==';//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|惬意小屋-点滴记忆
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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'; // 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查找域名解析商,域名注册商,站长信息。并利用这些信息进行相关投诉