Hướng dẫn chặn copy nội dung trong WordPress

Trong bài viết này, chúng ta sẽ tìm hiểu cách thêm một chức năng vào website WordPress để ngăn người dùng sao chép nội dung và truy cập vào công cụ dành cho nhà phát triển (Developer Tools) trên trình duyệt.

Chức năng của đoạn code

Đoạn mã dưới đây sẽ thực hiện các nhiệm vụ sau:

  1. Chặn sao chép nội dung: Ngăn người dùng sử dụng menu ngữ cảnh (context menu) để sao chép nội dung.

  2. Chặn truy cập công cụ nhà phát triển: Vô hiệu hóa các phím tắt phổ biến như F12, Ctrl+C, Ctrl+U, v.v., và sử dụng thư viện disable-devtool để tăng cường bảo vệ.

  3. Hiển thị thông báo: Khi người dùng cố gắng sao chép hoặc mở công cụ nhà phát triển, một thông báo sẽ xuất hiện với nội dung: “Sorry, you can’t view or copy!”.

=> Plugin bảo mật website giá tốt

Chặn copy nội udng trên wordpress
Chặn copy nội udng trên wordpress

Hướng dẫn triển khai

Bước 1: Chuẩn bị

  • Đảm bảo bạn đang sử dụng một child theme để tránh mất các thay đổi khi theme được cập nhật. Nếu chưa biết cách tạo child theme, bạn có thể tìm hiểu thêm trên trang chính thức của WordPress.

  • Sao lưu file functions.php của theme hiện tại để tránh rủi ro trong trường hợp có lỗi xảy ra.

Bước 2: Thêm đoạn mã vào file functions.php

  1. Truy cập vào thư mục theme của bạn, thường nằm tại: wp-content/themes/your-theme/.

  2. Mở file functions.php bằng trình chỉnh sửa văn bản (như Notepad++, VS Code, hoặc qua File Manager trong hosting).

  3. Sao chép và dán đoạn mã sau vào cuối file functions.php:

function fox_block_copy_footer(){ ob_start(); ?> <noscript><meta http-equiv="refresh" content="0; url=https://google.com" /></noscript> <script> var _0x7eff=["\x63","\x43","\x78","\x75","\x49","\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74","\x53\x6F\x72\x72\x79\x2C\x20\x79\x6F\x75\x20\x63\x61\x6E\x27\x74\x20\x76\x69\x65\x77\x20\x6F\x72\x20\x63\x6F\x70\x79\x21","\x63\x6F\x6E\x74\x65\x78\x74\x6D\x65\x6E\x75","\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72","\x6B\x65\x79\x64\x6F\x77\x6E","\x63\x74\x72\x6C\x4B\x65\x79","\x6B\x65\x79","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x46\x31\x32"]; const disabledKeys=[_0x7eff[0],_0x7eff[1],_0x7eff[2],_0x7eff[3],_0x7eff[4]]; const showAlert=(_0xc0c8x3)=>{_0xc0c8x3[_0x7eff[5]]();return alert(_0x7eff[6])}; document[_0x7eff[8]](_0x7eff[7],(_0xc0c8x3)=>{showAlert(_0xc0c8x3)}); document[_0x7eff[8]](_0x7eff[9],(_0xc0c8x3)=>{if(_0xc0c8x3[_0x7eff[10]]&& disabledKeys[_0x7eff[12]](_0xc0c8x3[_0x7eff[11]])|| _0xc0c8x3[_0x7eff[11]]=== _0x7eff[13]){showAlert(_0xc0c8x3)}}); </script> <script src='https://cdn.jsdelivr.net/npm/disable-devtool'></script> <script> DisableDevtool({}); </script> <?php echo ob_get_clean(); } add_action('wp_head', 'fox_block_copy_footer');

Lưu file và kiểm tra lại website để đảm bảo không có lỗi.

Bước 3: Kiểm tra kết quả

  • Truy cập website của bạn và thử các thao tác sau:

    • Nhấp chuột phải để mở menu ngữ cảnh (context menu).

    • Nhấn các phím tắt như F12, Ctrl+U, Ctrl+C, hoặc Ctrl+I.

  • Nếu mọi thứ hoạt động đúng, bạn sẽ thấy thông báo “Sorry, you can’t view or copy!” và không thể mở công cụ nhà phát triển.

Lưu ý quan trọng

  • Đây chỉ là biện pháp cơ bản, không thể ngăn chặn hoàn toàn những người dùng có kiến thức về lập trình. Họ vẫn có thể vượt qua bằng cách tắt JavaScript, sử dụng các công cụ khác, hoặc truy cập mã nguồn qua các phương pháp khác.

  • Việc chặn menu ngữ cảnh có thể gây khó chịu cho một số người dùng, vì họ không thể sử dụng các tính năng như “Copy” hoặc “Open link in new tab”. Hãy cân nhắc kỹ trước khi áp dụng.

  • Đoạn mã sử dụng thư viện disable-devtool từ CDN. Đảm bảo website của bạn có kết nối internet để tải thư viện này.

Việc thêm chức năng chặn copy nội dung và truy cập công cụ nhà phát triển là một cách đơn giản để bảo vệ nội dung website WordPress của bạn ở mức cơ bản. Tuy nhiên, để bảo vệ nội dung tốt hơn, bạn nên kết hợp với các biện pháp khác như sử dụng plugin bảo mật, mã hóa nội dung, hoặc thêm watermark cho hình ảnh. Nếu bạn có bất kỳ câu hỏi nào hoặc cần hỗ trợ thêm, hãy để lại bình luận nhé!