هذه الأكواد تُستخدم لمنع المستخدمين من نسخ المحتوى أو الصور من موقع الويب الخاص بك، بالإضافة إلى منعهم من فتح أدوات المطورين (Developer Tools) في المتصفح. هذه الإجراءات تُعتبر جزءاً من حماية المحتوى، خاصة إذا كان الموقع يحتوي على مواد محمية بحقوق النشر أو صور خاصة. دعونا نشرح كل جزء من هذه الأكواد بالتفصيل:
الكود الاول منع النسخ والاختيار (CSS)
.post-outer {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
}
الشرح:
هذه الأكواد تُستخدم لمنع المستخدمين من تحديد النصوص أو الصور أو أي محتوى داخل العنصر الذي يحمل الفئة .post-outer
.
الخصائص المستخدمة:
-webkit-touch-callout: none;
: يمنع ظهور قائمة السياق (مثل نسخ أو حفظ الصورة) عند الضغط لفترة طويلة على العنصر في الأجهزة التي تعمل باللمس.-webkit-user-select: none;
: يمنع اختيار النصوص أو العناصر في متصفحات WebKit (مثل Chrome وSafari).-khtml-user-select: none;
: يمنع الاختيار في متصفحات KHTML.-ms-user-select: none;
: يمنع الاختيار في متصفحات Internet Explorer.-moz-user-select: none;
: يمنع الاختيار في متصفحات Firefox.
الأهمية:
- حماية المحتوى من النسخ غير المصرح به.
- منع المستخدمين من أخذ لقطات شاشة للنصوص أو الصور.
الكود الثاني السماح بالنسخ في أجزاء محددة (CSS)
-khtml-user-select: text;
-ms-user-select: text;
-moz-user-select: text;
الشرح:
هذه الأكواد تسمح باختيار النصوص في أجزاء محددة من الصفحة، حتى إذا كانت هناك قيود على النسخ في أجزاء أخرى. يتم تطبيق هذه الخصائص على عناصر محددة للسماح بالنسخ في حالات معينة.
الأهمية:
- توفير مرونة في التحكم في أجزاء الصفحة التي يمكن نسخها.
الكود الثالث منع حفظ الصور (JavaScript)
function nocontext(e) {
var clickedTag = (e == null) ? event.srcElement.tagName : e.target.tagName;
if (clickedTag == "IMG") {
alert(alertMsg);
return false;
}
}
var alertMsg = "الصور عليها حقوق لذلك ممنوع النسخ";
document.oncontextmenu = nocontext;
الشرح:
هذا الكود يمنع المستخدمين من فتح قائمة السياق (النقر بزر الماوس الأيمن) على الصور. عند النقر بزر الماوس الأيمن على صورة، يتم تنبيه المستخدم برسالة تفيد بأن الصور محمية بحقوق النشر.
الأهمية:
- حماية الصور من النسخ أو التحميل غير المصرح به.
- توعية المستخدمين بحقوق النشر.
الكود الرابع منع فتح أدوات المطورين (JavaScript)
document.oncontextmenu = function() {
return false;
};
document.onkeydown = function(e) {
if (e.keyCode == 123) { // F12
return false;
}
if (e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) { // Ctrl + Shift + I
return false;
}
if (e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) { // Ctrl + Shift + J
return false;
}
if (e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) { // Ctrl + U
return false;
}
if (e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)) { // Ctrl + Shift + C
return false;
}
};
الشرح:
هذا الكود يمنع المستخدمين من فتح أدوات المطورين (Developer Tools) في المتصفح. يتم منع الأوامر التالية:
- F12: فتح أدوات المطورين.
- Ctrl + Shift + I: فتح أدوات المطورين.
- Ctrl + Shift + J: فتح وحدة تحكم JavaScript.
- Ctrl + U: عرض مصدر الصفحة.
- Ctrl + Shift + C: فتح أداة فحص العناصر.
الأهمية:
- منع المستخدمين من الوصول إلى الكود المصدري للصفحة.
- حماية المحتوى من التعديل أو النسخ عبر أدوات المطورين.
الكود الخامس منع النقر بزر الماوس الأيمن والأزرار الأخرى (HTML)
<body oncontextmenu='return false;' onkeydown='return false;' onmousedown='return false;'>
الشرح:
هذا الكود يمنع المستخدمين من النقر بزر الماوس الأيمن أو استخدام بعض الأزرار على لوحة المفاتيح. يتم تطبيق هذه القيود على كامل الصفحة.
الأهمية:
- تعزيز حماية المحتوى من النسخ أو التعديل.
مميزات هذه الأكواد:
- حماية المحتوى: تمنع المستخدمين من نسخ النصوص أو الصور أو الكود المصدري.
- توعية المستخدمين: تظهر رسائل تنبيهية لتذكير المستخدمين بحقوق النشر.
- تحسين الأمان: تمنع الوصول إلى أدوات المطورين التي يمكن استخدامها لنسخ أو تعديل المحتوى.
- المرونة: يمكن تطبيق القيود على أجزاء محددة من الصفحة أو على الصفحة بأكملها.
عيوب هذه الأكواد:
- عدم الفعالية الكاملة: يمكن للمستخدمين المتمرسين تجاوز هذه القيود باستخدام أدوات أو إضافات متصفح.
- تأثير على تجربة المستخدم: قد تُسبب إزعاجاً للمستخدمين الذين يحتاجون إلى استخدام هذه الميزات لأغراض مشروعة.
- عدم التوافق مع جميع المتصفحات: بعض المتصفحات قد لا تدعم هذه القيود بشكل كامل.
نصائح:
- استخدم هذه الأكواد بحذر حتى لا تؤثر سلباً على تجربة المستخدم.
- قم بتطبيقها فقط على الأجزاء الحساسة من الموقع التي تحتاج إلى حماية.
- ضع في اعتبارك أن هذه الإجراءات ليست حلاً كاملاً لحماية المحتوى، ولكنها تُعتبر طبقة إضافية من الأمان.