• 在别的地方看的,还没研究


    前端:屏蔽F12审查元素,禁止修改页面代码

    众所周知,审查元素的情况下,大家都可以随机更改一部分页面的代码,

    注入恶意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+" 请使用Del键进行字符的删除操作!");
    window.event.returnValue=false;
    }

    }

    除了屏蔽这个,我们还有其他有趣的设置:


    二、屏蔽右键菜单
    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;
    }
    }

    四、屏蔽复制
    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;
    }
    }

    这种很适合小说网站,毕竟版权珍贵,被别人随意copy走内容就不好了

    六、屏蔽选中
    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;
    }
    }
     
    ======================评论里的==
    1.  
      'use strict';
    2.  
      (function() {
    3.  
      function R(a) {
    4.  
      let ona = "on" + a;
    5.  
      if (window.addEventListener){
    6.  
      window.addEventListener(a, function(e) {
    7.  
      for (let n = e.originalTarget; n; n = n.parentNode) n[ona] = null;
    8.  
      }, true);
    9.  
      }
    10.  
      window[ona] = null;
    11.  
      document[ona] = null;
    12.  
      if (document.body) document.body[ona] = null;
    13.  
      }
    14.  
      R("contextmenu");
    15.  
      R("click");
    16.  
      R("mousedown");
    17.  
      R("mouseup");
    18.  
      R("paste");
    19.  
      R("cut");
    20.  
      R("copy");
    21.  
      R("selectstart");
    22.  
      })()
  • 相关阅读:
    爬虫之初试
    [已解决]疑问:关于postgres的to_number()
    随笔
    简单的任意列数均匀布局
    去除VS2010中中文注释下的红色波浪线
    DataTable举例
    DevExpress::XtraBars::BarEditItem获取EditValue值事件
    List<String^>^ 引用空间
    TreeList的VisibleNodesCount,Noes.Count,AllNdoesCount以及焦点节点的删除
    获取工程的exe文件的所在目录
  • 原文地址:https://www.cnblogs.com/dudududadada/p/13553083.html
Copyright © 2020-2023  润新知