背景
初次使用国内ai的时候好奇想看看他们接口,发现控制台被ban了。于是研究了一下实现。
实现前端js防止调试
首先是模拟文心一言前端防调试的方法。
document.onkeydown = function (e) {
if (e.keyCode === 123) {
return false;
}
};
document.oncontextmenu = function () {
return false;
};
(() => {
function ban(params) {
let currentTime = new Date().getTime()
let timer = setInterval(() => {
(new Function("debugger"))()//这里启动新js文件
let date = new Date().getTime()
if (date - currentTime > 110) {
clearInterval(timer)
console.warn('opened dev');
document.body.innerHTML = "禁止调试"
window.location.href = "about:blank"
} else {
currentTime = date
}
}, 50)
}
try {
ban()
} catch (error) {
}
}
)()
2023/4/15大约 4 分钟