หา code ไม่ให้ save หน้าเวปไซต์

เริ่มโดย zeelacul, 16 ตุลาคม 2025, 17:22:48

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

zeelacul

ตามหัวข้อเลยครับ ไม่ได้ทำนานแล้ว ลืม code ห้ามคลิกขวา หาได้แล้ว และยังหา code ไม่ใช้ save ยังไม่เจอ อยากทราบใช้ตัวไหนครับ ขอบคุณครับ

helloweentz

เดี๋ยวนี้ code ไม่ให้ เซฟ ใช้ไม่ได้ครับ  :wanwan021:


teelin

เคยอ่านบทความเก่าๆเห็นหลายคนว่า มันจะป้องกัน bot ให้ index เรายากด้วย ไม่รู้จริงไหมครับ  :P
[direct=https://www.seoclerks.com/linkin/125565]แหล่งรวม BACKLINK คุณภาพสูงราคาถูก รองรับเว็บทุกหมวด[/direct]

[direct=https://a.seoclerks.com/linkin/125565/Link-Building/2465525/Premium-100-EDU-GOV-Links-Built-on-Trusted-University-amp-Government-Domains]Premium 100 EDU/GOV Backlinks เสริมแกร่ง SEO Keyword ไทยก็ทำได้[/direct]

[direct=https://koffielover.com/coffee-bean-reviews/]รีวิวเมล็ดกาแฟ[/direct]
[direct=https://www.youtube.com/watch?v=kRlDUCe6ajk]lean to shed plans[/direct]


thai2ads

อ้างถึงจาก: zeelacul ใน 16 ตุลาคม 2025, 17:22:48
ตามหัวข้อเลยครับ ไม่ได้ทำนานแล้ว ลืม code ห้ามคลิกขวา หาได้แล้ว และยังหา code ไม่ใช้ save ยังไม่เจอ อยากทราบใช้ตัวไหนครับ ขอบคุณครับ


<!-- CSS: ป้องกันการเลือกข้อความ และป้องกันการลาก -->
<style>
 /* ป้องกันการเลือกข้อความ */
 html, body {
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
   -ms-user-select: none !important;
   user-select: none !important;
   -webkit-touch-callout: none !important; /* iOS long press */
 }

 /* ป้องกันการลากภาพหรือข้อความ */
 img, a {
   -webkit-user-drag: none !important;
   user-drag: none !important;
 }

 /* ถ้าต้องการให้บาง element สามารถเลือกได้ ให้เพิ่ม class .allow-select */
 .allow-select {
   -webkit-user-select: text !important;
   user-select: text !important;
 }
</style>

<script>
/*
 Comprehensive anti-copy / anti-devtools script.
 - ปิด contextmenu (คลิกขวา)
 - ปิด selectstart, copy, cut, paste
 - ดัก keydown สำหรับ F12, Ctrl Shift I/J/C, Ctrl U, Ctrl S, Ctrl P, Ctrl C (optionally)
 - ตรวจจับ DevTools แบบพื้นฐาน (ขนาดหน้าต่าง และ debugger trick)
 - แจ้งเตือนหรือ redirect เมื่อพบการพยายามเปิด DevTools (คุณสามารถเปลี่ยน action ได้)
*/
const ANTI_DEBUG = {
 enableDetectSize: true,      // ตรวจสอบ outerWidth - innerWidth / outerHeight - innerHeight
 sizeThreshold: 160,          // ค่าเกณฑ์ ถ้ามากกว่านี้น่าจะเปิด devtools (ปรับได้)
 enableDebuggerProbe: true,   // ใช้ debugger/probe trick
 probeIntervalMs: 1000,       // ความถี่ในการตรวจจับ (ms)
 onDetect: () => {            // เมื่อพบการเปิด DevTools -> ปรับเปลี่ยน action ตามต้องการ
   // ตัวอย่าง actions: alert, redirect, clear page, log server, ฯลฯ
   console.warn("DevTools detected — action triggered.");
   // ตัวอย่าง: ซ่อนเนื้อหา
   document.documentElement.innerHTML = "<h2>Access denied</h2>";
   
 }
};


(function() {
 // ปิดคลิกขวา
 document.addEventListener('contextmenu', function(e) {
   e.preventDefault();
 }, { passive: false });

 // ป้องกันการเลือกข้อความด้วยเมาส์/คีย์บอร์ด
 document.addEventListener('selectstart', function(e) {
   // อนุญาตถ้ามี class .allow-select
   if (!e.target.closest || !e.target.closest('.allow-select')) {
     e.preventDefault();
   }
 }, { passive: false });

 // ป้องกันการคัดลอก/ตัด/วาง
 ['copy', 'cut', 'paste'].forEach(evt => {
   document.addEventListener(evt, function(e) {
     // อนุญาตถ้า element มี .allow-select
     if (e.target && e.target.closest && e.target.closest('.allow-select')) return;
     e.preventDefault();
   }, { passive: false });
 });

 
 document.addEventListener('keydown', function(e) {
   // ปิด F12
   if (e.key === 'F12') {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && e.shiftKey) {
     if (e.key === 'I' || e.key === 'J' || e.key === 'C') {
       e.preventDefault();
       return false;
     }
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'U' || e.key === 'u')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'S' || e.key === 's')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'P' || e.key === 'p')) {
     e.preventDefault();
     return false;
   }

   
 }, { passive: false });
})();



(function(cfg) {
 
 function checkWindowSize() {
   try {
     if (!cfg.enableDetectSize) return false;
     const widthDiff = Math.abs(window.outerWidth - window.innerWidth);
     const heightDiff = Math.abs(window.outerHeight - window.innerHeight);
     if (widthDiff > cfg.sizeThreshold || heightDiff > cfg.sizeThreshold) {
       return true;
     }
   } catch (e) { /* ignore */ }
   return false;
 }

 
 function checkDebuggerProbe() {
   let detected = false;
   const start = Date.now();
   const fn = function() { /* probe */ };
   const str = fn.toString();
   
   const t0 = performance.now();
   
   for (let i = 0; i < 1e3; i  ) {
     // empty loop test
   }
   const t1 = performance.now();
   if ((t1 - t0) > 100) {
     detected = true;
   }
   return detected;
 }

 
 function probe() {
   let devOpen = false;
   if (checkWindowSize()) devOpen = true;
   if (cfg.enableDebuggerProbe && checkDebuggerProbe()) devOpen = true;

   if (devOpen) {
     try {
       cfg.onDetect();
     } catch (e) {
       console.error(e);
     }
   }
 }

 
 setInterval(probe, cfg.probeIntervalMs || 2000);


 window.addEventListener('load', probe);
})(ANTI_DEBUG);
</script>

test demo


มันป้องกันได้ระดับหนึ่งนะครับ ไม่ได้ 100% ลองเอาไปรันดูครับ
รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ (ยกเว้น 18+ กับการพนัน) ระบบมีปัญหาการใช้งานแจ้งพจได้เลยนะครับอย่าได้เกรงใจเพราะเดี๋ยวมันจะไม่รู้ปัญหา
[direct=http://www.designonshop.com]ออกแบบเว็บไซต์[/direct] | [direct=http://www.designonshop.com]รับทำเว็บไซต์[/direct] |

thai2ads

อ้างถึงจาก: zeelacul ใน 16 ตุลาคม 2025, 17:22:48
ตามหัวข้อเลยครับ ไม่ได้ทำนานแล้ว ลืม code ห้ามคลิกขวา หาได้แล้ว และยังหา code ไม่ใช้ save ยังไม่เจอ อยากทราบใช้ตัวไหนครับ ขอบคุณครับ


<!-- CSS: ป้องกันการเลือกข้อความ และป้องกันการลาก -->
<style>
 /* ป้องกันการเลือกข้อความ */
 html, body {
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
   -ms-user-select: none !important;
   user-select: none !important;
   -webkit-touch-callout: none !important; /* iOS long press */
 }

 /* ป้องกันการลากภาพหรือข้อความ */
 img, a {
   -webkit-user-drag: none !important;
   user-drag: none !important;
 }

 /* ถ้าต้องการให้บาง element สามารถเลือกได้ ให้เพิ่ม class .allow-select */
 .allow-select {
   -webkit-user-select: text !important;
   user-select: text !important;
 }
</style>

<script>
/*
 Comprehensive anti-copy / anti-devtools script.
 - ปิด contextmenu (คลิกขวา)
 - ปิด selectstart, copy, cut, paste
 - ดัก keydown สำหรับ F12, Ctrl Shift I/J/C, Ctrl U, Ctrl S, Ctrl P, Ctrl C (optionally)
 - ตรวจจับ DevTools แบบพื้นฐาน (ขนาดหน้าต่าง และ debugger trick)
 - แจ้งเตือนหรือ redirect เมื่อพบการพยายามเปิด DevTools (คุณสามารถเปลี่ยน action ได้)
*/
const ANTI_DEBUG = {
 enableDetectSize: true,      // ตรวจสอบ outerWidth - innerWidth / outerHeight - innerHeight
 sizeThreshold: 160,          // ค่าเกณฑ์ ถ้ามากกว่านี้น่าจะเปิด devtools (ปรับได้)
 enableDebuggerProbe: true,   // ใช้ debugger/probe trick
 probeIntervalMs: 1000,       // ความถี่ในการตรวจจับ (ms)
 onDetect: () => {            // เมื่อพบการเปิด DevTools -> ปรับเปลี่ยน action ตามต้องการ
   // ตัวอย่าง actions: alert, redirect, clear page, log server, ฯลฯ
   console.warn("DevTools detected — action triggered.");
   // ตัวอย่าง: ซ่อนเนื้อหา
   document.documentElement.innerHTML = "<h2>Access denied</h2>";
   
 }
};


(function() {
 // ปิดคลิกขวา
 document.addEventListener('contextmenu', function(e) {
   e.preventDefault();
 }, { passive: false });

 // ป้องกันการเลือกข้อความด้วยเมาส์/คีย์บอร์ด
 document.addEventListener('selectstart', function(e) {
   // อนุญาตถ้ามี class .allow-select
   if (!e.target.closest || !e.target.closest('.allow-select')) {
     e.preventDefault();
   }
 }, { passive: false });

 // ป้องกันการคัดลอก/ตัด/วาง
 ['copy', 'cut', 'paste'].forEach(evt => {
   document.addEventListener(evt, function(e) {
     // อนุญาตถ้า element มี .allow-select
     if (e.target && e.target.closest && e.target.closest('.allow-select')) return;
     e.preventDefault();
   }, { passive: false });
 });

 
 document.addEventListener('keydown', function(e) {
   // ปิด F12
   if (e.key === 'F12') {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && e.shiftKey) {
     if (e.key === 'I' || e.key === 'J' || e.key === 'C') {
       e.preventDefault();
       return false;
     }
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'U' || e.key === 'u')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'S' || e.key === 's')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'P' || e.key === 'p')) {
     e.preventDefault();
     return false;
   }

   
 }, { passive: false });
})();



(function(cfg) {
 
 function checkWindowSize() {
   try {
     if (!cfg.enableDetectSize) return false;
     const widthDiff = Math.abs(window.outerWidth - window.innerWidth);
     const heightDiff = Math.abs(window.outerHeight - window.innerHeight);
     if (widthDiff > cfg.sizeThreshold || heightDiff > cfg.sizeThreshold) {
       return true;
     }
   } catch (e) { /* ignore */ }
   return false;
 }

 
 function checkDebuggerProbe() {
   let detected = false;
   const start = Date.now();
   const fn = function() { /* probe */ };
   const str = fn.toString();
   
   const t0 = performance.now();
   
   for (let i = 0; i < 1e3; i  ) {
     // empty loop test
   }
   const t1 = performance.now();
   if ((t1 - t0) > 100) {
     detected = true;
   }
   return detected;
 }

 
 function probe() {
   let devOpen = false;
   if (checkWindowSize()) devOpen = true;
   if (cfg.enableDebuggerProbe && checkDebuggerProbe()) devOpen = true;

   if (devOpen) {
     try {
       cfg.onDetect();
     } catch (e) {
       console.error(e);
     }
   }
 }

 
 setInterval(probe, cfg.probeIntervalMs || 2000);


 window.addEventListener('load', probe);
})(ANTI_DEBUG);
</script>

test demo


มันป้องกันได้ระดับหนึ่งนะครับ ไม่ได้ 100% ลองเอาไปรันดูครับ
รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ (ยกเว้น 18+ กับการพนัน) ระบบมีปัญหาการใช้งานแจ้งพจได้เลยนะครับอย่าได้เกรงใจเพราะเดี๋ยวมันจะไม่รู้ปัญหา
[direct=http://www.designonshop.com]ออกแบบเว็บไซต์[/direct] | [direct=http://www.designonshop.com]รับทำเว็บไซต์[/direct] |

thai2ads

อ้างถึงจาก: zeelacul ใน 16 ตุลาคม 2025, 17:22:48
ตามหัวข้อเลยครับ ไม่ได้ทำนานแล้ว ลืม code ห้ามคลิกขวา หาได้แล้ว และยังหา code ไม่ใช้ save ยังไม่เจอ อยากทราบใช้ตัวไหนครับ ขอบคุณครับ


<!-- CSS: ป้องกันการเลือกข้อความ และป้องกันการลาก -->
<style>
  /* ป้องกันการเลือกข้อความ */
  html, body {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important; /* iOS long press */
  }

  /* ป้องกันการลากภาพหรือข้อความ */
  img, a {
    -webkit-user-drag: none !important;
    user-drag: none !important;
  }

  /* ถ้าต้องการให้บาง element สามารถเลือกได้ ให้เพิ่ม class .allow-select */
  .allow-select {
    -webkit-user-select: text !important;
    user-select: text !important;
  }
</style>

<script>
/*
  Comprehensive anti-copy / anti-devtools script.
  - ปิด contextmenu (คลิกขวา)
  - ปิด selectstart, copy, cut, paste
  - ดัก keydown สำหรับ F12, Ctrl Shift I/J/C, Ctrl U, Ctrl S, Ctrl P, Ctrl C (optionally)
  - ตรวจจับ DevTools แบบพื้นฐาน (ขนาดหน้าต่าง และ debugger trick)
  - แจ้งเตือนหรือ redirect เมื่อพบการพยายามเปิด DevTools (คุณสามารถเปลี่ยน action ได้)
*/
const ANTI_DEBUG = {
  enableDetectSize: true,      // ตรวจสอบ outerWidth - innerWidth / outerHeight - innerHeight
  sizeThreshold: 160,          // ค่าเกณฑ์ ถ้ามากกว่านี้น่าจะเปิด devtools (ปรับได้)
  enableDebuggerProbe: true,   // ใช้ debugger/probe trick
  probeIntervalMs: 1000,       // ความถี่ในการตรวจจับ (ms)
  onDetect: () => {            // เมื่อพบการเปิด DevTools -> ปรับเปลี่ยน action ตามต้องการ
    // ตัวอย่าง actions: alert, redirect, clear page, log server, ฯลฯ
    console.warn("DevTools detected — action triggered.");
    // ตัวอย่าง: ซ่อนเนื้อหา
    document.documentElement.innerHTML = "<h2>Access denied</h2>";
   
  }
};


(function() {
  // ปิดคลิกขวา
  document.addEventListener('contextmenu', function(e) {
    e.preventDefault();
  }, { passive: false });

  // ป้องกันการเลือกข้อความด้วยเมาส์/คีย์บอร์ด
  document.addEventListener('selectstart', function(e) {
    // อนุญาตถ้ามี class .allow-select
    if (!e.target.closest || !e.target.closest('.allow-select')) {
      e.preventDefault();
    }
  }, { passive: false });

  // ป้องกันการคัดลอก/ตัด/วาง
  ['copy', 'cut', 'paste'].forEach(evt => {
    document.addEventListener(evt, function(e) {
      // อนุญาตถ้า element มี .allow-select
      if (e.target && e.target.closest && e.target.closest('.allow-select')) return;
      e.preventDefault();
    }, { passive: false });
  });

 
  document.addEventListener('keydown', function(e) {
    // ปิด F12
    if (e.key === 'F12') {
      e.preventDefault();
      return false;
    }

   
    if ((e.ctrlKey || e.metaKey) && e.shiftKey) {
      if (e.key === 'I' || e.key === 'J' || e.key === 'C') {
        e.preventDefault();
        return false;
      }
    }

   
    if ((e.ctrlKey || e.metaKey) && (e.key === 'U' || e.key === 'u')) {
      e.preventDefault();
      return false;
    }

   
    if ((e.ctrlKey || e.metaKey) && (e.key === 'S' || e.key === 's')) {
      e.preventDefault();
      return false;
    }

   
    if ((e.ctrlKey || e.metaKey) && (e.key === 'P' || e.key === 'p')) {
      e.preventDefault();
      return false;
    }

   
  }, { passive: false });
})();



(function(cfg) {
 
  function checkWindowSize() {
    try {
      if (!cfg.enableDetectSize) return false;
      const widthDiff = Math.abs(window.outerWidth - window.innerWidth);
      const heightDiff = Math.abs(window.outerHeight - window.innerHeight);
      if (widthDiff > cfg.sizeThreshold || heightDiff > cfg.sizeThreshold) {
        return true;
      }
    } catch (e) { /* ignore */ }
    return false;
  }

 
  function checkDebuggerProbe() {
    let detected = false;
    const start = Date.now();
    const fn = function() { /* probe */ };
    const str = fn.toString();
   
    const t0 = performance.now();
   
    for (let i = 0; i < 1e3; i  ) {
      // empty loop test
    }
    const t1 = performance.now();
    if ((t1 - t0) > 100) {
      detected = true;
    }
    return detected;
  }

 
  function probe() {
    let devOpen = false;
    if (checkWindowSize()) devOpen = true;
    if (cfg.enableDebuggerProbe && checkDebuggerProbe()) devOpen = true;

    if (devOpen) {
      try {
        cfg.onDetect();
      } catch (e) {
        console.error(e);
      }
    }
  }

 
  setInterval(probe, cfg.probeIntervalMs || 2000);


  window.addEventListener('load', probe);
})(ANTI_DEBUG);
</script>

test demo


มันป้องกันได้ระดับหนึ่งนะครับ ไม่ได้ 100% ลองเอาไปรันดูครับ
รับทำเว็บไซต์ เขียนระบบต่างๆตามที่ต้องการ (ยกเว้น 18+ กับการพนัน) ระบบมีปัญหาการใช้งานแจ้งพจได้เลยนะครับอย่าได้เกรงใจเพราะเดี๋ยวมันจะไม่รู้ปัญหา
[direct=http://www.designonshop.com]ออกแบบเว็บไซต์[/direct] | [direct=http://www.designonshop.com]รับทำเว็บไซต์[/direct] |

Consolez

อ้างถึงจาก: thai2ads ใน 22 ตุลาคม 2025, 21:48:47
อ้างถึงจาก: zeelacul ใน 16 ตุลาคม 2025, 17:22:48
ตามหัวข้อเลยครับ ไม่ได้ทำนานแล้ว ลืม code ห้ามคลิกขวา หาได้แล้ว และยังหา code ไม่ใช้ save ยังไม่เจอ อยากทราบใช้ตัวไหนครับ ขอบคุณครับ


<!-- CSS: ป้องกันการเลือกข้อความ และป้องกันการลาก -->
<style>
 /* ป้องกันการเลือกข้อความ */
 html, body {
   -webkit-user-select: none !important;
   -moz-user-select: none !important;
   -ms-user-select: none !important;
   user-select: none !important;
   -webkit-touch-callout: none !important; /* iOS long press */
 }

 /* ป้องกันการลากภาพหรือข้อความ */
 img, a {
   -webkit-user-drag: none !important;
   user-drag: none !important;
 }

 /* ถ้าต้องการให้บาง element สามารถเลือกได้ ให้เพิ่ม class .allow-select */
 .allow-select {
   -webkit-user-select: text !important;
   user-select: text !important;
 }
</style>

<script>
/*
 Comprehensive anti-copy / anti-devtools script.
 - ปิด contextmenu (คลิกขวา)
 - ปิด selectstart, copy, cut, paste
 - ดัก keydown สำหรับ F12, Ctrl Shift I/J/C, Ctrl U, Ctrl S, Ctrl P, Ctrl C (optionally)
 - ตรวจจับ DevTools แบบพื้นฐาน (ขนาดหน้าต่าง และ debugger trick)
 - แจ้งเตือนหรือ redirect เมื่อพบการพยายามเปิด DevTools (คุณสามารถเปลี่ยน action ได้)
*/
const ANTI_DEBUG = {
 enableDetectSize: true,      // ตรวจสอบ outerWidth - innerWidth / outerHeight - innerHeight
 sizeThreshold: 160,          // ค่าเกณฑ์ ถ้ามากกว่านี้น่าจะเปิด devtools (ปรับได้)
 enableDebuggerProbe: true,   // ใช้ debugger/probe trick
 probeIntervalMs: 1000,       // ความถี่ในการตรวจจับ (ms)
 onDetect: () => {            // เมื่อพบการเปิด DevTools -> ปรับเปลี่ยน action ตามต้องการ
   // ตัวอย่าง actions: alert, redirect, clear page, log server, ฯลฯ
   console.warn("DevTools detected — action triggered.");
   // ตัวอย่าง: ซ่อนเนื้อหา
   document.documentElement.innerHTML = "<h2>Access denied</h2>";
   
 }
};


(function() {
 // ปิดคลิกขวา
 document.addEventListener('contextmenu', function(e) {
   e.preventDefault();
 }, { passive: false });

 // ป้องกันการเลือกข้อความด้วยเมาส์/คีย์บอร์ด
 document.addEventListener('selectstart', function(e) {
   // อนุญาตถ้ามี class .allow-select
   if (!e.target.closest || !e.target.closest('.allow-select')) {
     e.preventDefault();
   }
 }, { passive: false });

 // ป้องกันการคัดลอก/ตัด/วาง
 ['copy', 'cut', 'paste'].forEach(evt => {
   document.addEventListener(evt, function(e) {
     // อนุญาตถ้า element มี .allow-select
     if (e.target && e.target.closest && e.target.closest('.allow-select')) return;
     e.preventDefault();
   }, { passive: false });
 });

 
 document.addEventListener('keydown', function(e) {
   // ปิด F12
   if (e.key === 'F12') {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && e.shiftKey) {
     if (e.key === 'I' || e.key === 'J' || e.key === 'C') {
       e.preventDefault();
       return false;
     }
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'U' || e.key === 'u')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'S' || e.key === 's')) {
     e.preventDefault();
     return false;
   }

   
   if ((e.ctrlKey || e.metaKey) && (e.key === 'P' || e.key === 'p')) {
     e.preventDefault();
     return false;
   }

   
 }, { passive: false });
})();



(function(cfg) {
 
 function checkWindowSize() {
   try {
     if (!cfg.enableDetectSize) return false;
     const widthDiff = Math.abs(window.outerWidth - window.innerWidth);
     const heightDiff = Math.abs(window.outerHeight - window.innerHeight);
     if (widthDiff > cfg.sizeThreshold || heightDiff > cfg.sizeThreshold) {
       return true;
     }
   } catch (e) { /* ignore */ }
   return false;
 }

 
 function checkDebuggerProbe() {
   let detected = false;
   const start = Date.now();
   const fn = function() { /* probe */ };
   const str = fn.toString();
   
   const t0 = performance.now();
   
   for (let i = 0; i < 1e3; i  ) {
     // empty loop test
   }
   const t1 = performance.now();
   if ((t1 - t0) > 100) {
     detected = true;
   }
   return detected;
 }

 
 function probe() {
   let devOpen = false;
   if (checkWindowSize()) devOpen = true;
   if (cfg.enableDebuggerProbe && checkDebuggerProbe()) devOpen = true;

   if (devOpen) {
     try {
       cfg.onDetect();
     } catch (e) {
       console.error(e);
     }
   }
 }

 
 setInterval(probe, cfg.probeIntervalMs || 2000);


 window.addEventListener('load', probe);
})(ANTI_DEBUG);
</script>

test demo


มันป้องกันได้ระดับหนึ่งนะครับ ไม่ได้ 100% ลองเอาไปรันดูครับ

ขอบคุณครับ
[direct=https://www.seasunzone.com/%e0%b8%9a%e0%b8%97%e0%b8%84%e0%b8%a7%e0%b8%b2%e0%b8%a1%e0%b8%aa%e0%b8%b8%e0%b8%82%e0%b8%a0%e0%b8%b2%e0%b8%9e/top-5-brand-sugar-free-syrup-2024/]Sugar Free Syrup[/direct]
[direct=https://www.seasunzone.com]Keto Syrup[/direct]
[direct=https://www.seasunzone.com]ไซรัปหญ้าหวาน[/direct]
[direct=https://www.iamabrownbag.com]รับผลิตกระเป๋าผ้า[/direct]

helloweentz

ติดตามครับ ใครทดสอบได้บ้างคับ :P

TG_Min

มันทำได้ครับ แต่ได้อย่างก็เสียอย่าง
ตัวอย่างก็เว็บกองสลาก หน้าประกาศผลรางวัล มัน save ไปไม่ได้ เพราะใช้ js รัน และแสดงผลฝั่ง client
แต่ถ้าเก่งโปรแกรมระดับนึง ก็ดึงไปใช้ได้อยู่

ข้อเสียคือ bot และ search หาไม่เจอ
[direct=https://www.kasetorganic.com/shop/]Shop[/direct] [direct=https://www.dek-d.com/member/profile/beautisora/blog]บล็อกของ Sora[/direct] [direct=https://krabi.vwander.com]เที่ยวกระบี่ไปได้ทุกวัน[/direct]

suriyan2538

ถ้าไม่ให้เซฟเว็บไซต์ น่าจะทำไม่ได้นะครับ เพราะเบราว์เซอร์มันเซฟเว็บไซต์เก็บเอาไว้สำหรับเปิดใหม่แบบง่ายๆ  อารมณ์เหมือนสร้างทางลัดหรือเก็บเป็นรายการโปรด
แต่ถ้าหมายถึงโค้ดป้องกันเนื้อหา เพื่อไม่ให้ถูกคัดลอกได้ง่ายๆ อันนี้ก็มีหลายวิธีการครับ

ทั้งโค้ดควบคุมการใช้คีย์ลัดต่างๆ บนคอม ที่เกี่ยวกับการเปิดดูโค้ด คัดลอก หรือเปิดโหมดผู้พัฒนาเว็บ
แล้วก็ห้ามคัดลอกในมือถือ รวมไปถึงการโหลดเนื้อหาผ่าน Java เมื่อคนเข้าชมไม่เปิด Java เนื้อหาก็จะไม่โหลด

โค้ดหลักๆ ก็น่าจะประมาณนี้ครับ

<script>
document.onkeydown = function(e) {
  if(event.keyCode == 123) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) {
     return false;
  }
    if(e.ctrlKey && e.keyCode == 'S'.charCodeAt(0)) {
     return false;
  }
    if(e.ctrlKey && e.keyCode == 'P'.charCodeAt(0)) {
     return false;
  }
}
</script>

<script type="text/javascript">
var message="";
function clickIE(){
if(document.all){
(message);
return false;
}
}
function clickNS(e){
if (document.layers || (document.getElementById && !document.all)){
if (e.which==2||e.which==3){
(message);
return false;
}
}
}
if(document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS;
}else{
document.onmouseup=clickNS;
document.oncontextmenu=clickIE;
}
document.oncontextmenu=new Function("return false");
</script>

<script language="JavaScript1.2">
//Disable select-text script (IE4 , NS6 )
function disableselect(e){
return false
}
function reEnable(){
return true
}
//if IE4
document.onselectstart=new Function ("return false")
//if NS6
if (window.sidebar){
document.onmousedown=disableselect
document.onclick=reEnable
}
</script>

<style>
body {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
</style>

<noscript>
    <style type="text/css">
        body {
display:none;}
    </style>
    <div>
        <p>กรุณาเปิดใช้จาว่าสคริปต์ในการชมเนื้อหาบนเว็บไซต์ มิเช่นนั้นจะถือว่ามีเจตนาคัดลอกเนื้อหาบนเว็บไซต์</p>
    </div>
</noscript>




musichost

##โฮสติ้ง ยุคนี้ หมดปัญหาเรื่อง Chmod 777, มี PHP 8.0/7.2 และ 5.6 - MariaDB 10
### จดโดเมน/Hosting/VPS ฟรีบริการย้ายข้อมูลเว็บ คลิกดูรายละเอียด ###

เว็บบอร์ด SMF ลงประกาศฟรี