欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js屏蔽F12審查元素,禁止修改頁面代碼等實(shí)現(xiàn)代碼

 更新時(shí)間:2020年10月02日 12:56:24   投稿:mdxy-dxy  
有時(shí)候我們需要屏蔽客戶端的F12,以防菜鳥也可以隨意修改我們的代碼,也處于源碼的保護(hù)等操作,這里就為大家分享一下常見的代碼

眾所周知,審查元素的情況下,大家都可以隨機(jī)更改一部分頁面的代碼,注入惡意JS等等,這種情況避免也不難,雖然還能看到一部分H5源碼,但是無法修改

一、屏蔽F12 審查元素

document.onkeydown = function(){
  if(window.event && window.event.keyCode == 123) {
    alert("F12被禁用");
    event.keyCode=0;
    event.returnValue=false;
  }
  if(window.event && window.event.keyCode == 13) {
    window.event.keyCode = 505;
  }
  if(window.event && window.event.keyCode == 8) {
    alert(str+"\n請使用Del鍵進(jìn)行字符的刪除操作!");
    window.event.returnValue=false;
  }
}

如果想要禁用右鍵 不提示可以使用下面的代碼

document.onkeydown = function(){
  if(window.event && window.event.keyCode == 123) {    
    event.keyCode=0;
    event.returnValue=false;
  }
  if(window.event && window.event.keyCode == 13) {
    window.event.keyCode = 505;
  }
  if(window.event && window.event.keyCode == 8) {
    alert(str+"\n請使用Del鍵進(jìn)行字符的刪除操作!");
    window.event.returnValue=false;
  }
}

還有其他的玩法 也可以讓用戶按F12我們關(guān)閉網(wǎng)頁 或者跳轉(zhuǎn)其他頁面

<script type="text/javascript">
document.onkeydown = function(){
 
  if(window.event && window.event.keyCode == 123) {
    window.close(); //關(guān)閉當(dāng)前窗口(防抽)
    event.keyCode=0;
    event.returnValue=false;
  }
  if(window.event && window.event.keyCode == 13) {
    window.event.keyCode = 505;
  }
  if(window.event && window.event.keyCode == 8) {
    alert(str+"\n請使用Del鍵進(jìn)行字符的刪除操作!");
    window.event.returnValue=false;
  }
 
}
</script>

按住F12空白頁面 或者跳轉(zhuǎn)其他頁面

<script type="text/javascript">
document.onkeydown = function(){
 
  if(window.event && window.event.keyCode == 123) {
    window.location="about:blank"; //將當(dāng)前窗口跳轉(zhuǎn)置空白頁
    event.keyCode=0;
    event.returnValue=false;
  }
  if(window.event && window.event.keyCode == 13) {
    window.event.keyCode = 505;
  }
  if(window.event && window.event.keyCode == 8) {
    alert(str+"\n請使用Del鍵進(jìn)行字符的刪除操作!");
    window.event.returnValue=false;
  }
 
}
</script>

除了屏蔽這個(gè),我們還有其他有趣的設(shè)置:

二、屏蔽右鍵菜單

document.oncontextmenu = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

三、屏蔽粘貼

document.onpaste = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

四、屏蔽復(fù)制

document.oncopy = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

五、屏蔽剪切

document.oncut = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
}catch (e){
return false;
}
}

這種很適合小說網(wǎng)站,畢竟版權(quán)珍貴,被別人隨意copy走內(nèi)容就不好了

六、屏蔽選中

document.onselectstart = function (event){
if(window.event){
event = window.event;
}try{
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
return false;
}
return true;
} catch (e) {
return false;
}
}

當(dāng)然js屏蔽chrome F12后頁面自動(dòng)跳轉(zhuǎn)可以參考這篇文章

http://www.dbjr.com.cn/article/196910.htm

js檢測用戶是否打開調(diào)試工具(chrome)

(function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打開控制臺'; } })();

JavaScript檢測是否開啟了控制臺(調(diào)試工具)

測試后在chrome有效

不少人防止別人趴源碼,一般采用檢測按鍵F12之類的,但是這些基本沒什么用

現(xiàn)在介紹一個(gè)方法,非常管用,可以檢測到你是否開啟了控制臺程序,可以算是JavaScript的一些奇淫巧技

將這段代碼加入你的網(wǎng)站即可,原理不明 = -

(function () {
var re = /x/;
var i = 0;
console.log(re);
 
re.toString = function () {
alert("請關(guān)閉控制臺");
return '第 ' + (++i) + ' 次打開控制臺';
};
})();

然后你在打開控制臺,即會彈出對話框

js檢測開發(fā)者工具Devtools是否打開防調(diào)試

之前寫過一篇文章《Javascript檢測開發(fā)者工具Devtools是否打開》,主要是講如何通過js來檢測開發(fā)者工具是否打開,防止別人惡意調(diào)試我們的代碼,那段代碼也是查了蠻多資料整理出來的,當(dāng)時(shí)可以兼容chrome,firefox,ie,但是隨著瀏覽器版本的更新,已經(jīng)基本上沒有作用了,最近我發(fā)現(xiàn)還是有蠻多人去瀏覽那篇文章,所以這里再放出一段代碼,算是個(gè)升級版吧,之前的版本里在firefox上還有有限制的,下面提供的這個(gè)版本我測試過通殺現(xiàn)在的chrome 69,firefox,IE,也不存在之前firefox上存在的問題了,下面直接貼出代碼:

setInterval(function() {
  check()
}, 4000);
var check = function() {
  function doCheck(a) {
    if (("" + a/a)["length"] !== 1 || a % 20 === 0) {
      (function() {}
      ["constructor"]("debugger")())
    } else {
      (function() {}
      ["constructor"]("debugger")())
    }
    doCheck(++a)
  } 
  try {
    doCheck(0)
  } catch (err) {}
};
check();

這段代碼是什么原理,說實(shí)話我沒搞太懂,也去請教過一些大佬,都不能完全說出其中的原理,如果有懂的朋友請一定不吝賜教,雖然不知道原理,但是效果的確是杠杠的,這是本人從huichan網(wǎng)站上截取的,這里不得不佩服那些做huichan的,太強(qiáng)大。由于以前代碼是加密的,對于其中一些方法的命名我解密時(shí)都是隨意取的,不喜勿噴。

當(dāng)然這種伎倆對于熟悉調(diào)試的開發(fā)者來說,完全沒有阻礙,但畢竟也能防范住一小批不懷好意的人,幸幸苦苦寫出來的代碼被別人悄悄的就搬走了,確實(shí)挺惱人的,但僅僅靠這么一個(gè)防調(diào)試的代碼是不夠的,我們還需要做的還有很多,比如一些基本的js的壓縮混淆加密等等,后期本人會整理一些js加密混淆以及解密方面的文章,敬請期待...

相關(guān)文章

最新評論