اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لا توجد طريقة أكيدة بنسبة 100% لمنع أي شخص من سرقة واجهة الموقع أو حتى المحتوى الموجود في الموقع (مقالات، نصوص، صور، فيديوهات .. إلخ)، وذلك لأن المحتوى كي يتم عرضه في المتصفح لدى العميل يجب أن يتم تحميله أولًا إلى حاسوبه، فعلى سبيل المثال عند زيارة صفحة جوجل الرئيسية سيتم تحميل أكواد HTML و CSS و JavaScript والصور والخطوط المستخدمه في الصفحة ويتم حفظها على جهازك، ويمكن الوصول إلى كل هذه الأكواد من خلال الضغط على Ctrl + U أو من أدوات المطورين Dev Tools في المتصفح، وبما أن المحتوى يتم تحميله في جهاز كل زائر فلا توجد طريقة تمنع أي شخص من الوصول إلى كامل المحتوى الذي يظهر في المتصفح.

بالرغم من أننا لا نستطيع أن نمنع سرقة أكواد واجهة الموقع Frontend، إلا أننا نستطيع أن نقوم بتشفير الأكواد لنجعل التعديل عليها أمرًا صعبًا للغاية، لدرجة أن محاولة التعديل على أكواد الموقع (بعد تشفيرها) سيكون أصعب من بناء الموقع يدويًا مرة أخرى، ويتم إستخدام أدوات مثل obfuscator.io والتي تقوم بتعميه obfuscate الكود وتحويله من الصيغة التالية:

console.log("Hello, World!");

إلى هذا الشكل:

var _0x21c0fe=_0x3ada;(function(_0x128eff,_0x2e6556){var _0x318f92=_0x3ada,_0x433c96=_0x128eff();while(!![]){try{var _0x54c43a=parseInt(_0x318f92(0x1be))/0x1*(-parseInt(_0x318f92(0x1bf))/0x2)+parseInt(_0x318f92(0x1b7))/0x3+parseInt(_0x318f92(0x1b9))/0x4+parseInt(_0x318f92(0x1bb))/0x5*(parseInt(_0x318f92(0x1ba))/0x6)+parseInt(_0x318f92(0x1bd))/0x7*(parseInt(_0x318f92(0x1bc))/0x8)+parseInt(_0x318f92(0x1b6))/0x9*(parseInt(_0x318f92(0x1c0))/0xa)+-parseInt(_0x318f92(0x1b8))/0xb;if(_0x54c43a===_0x2e6556)break;else _0x433c96['push'](_0x433c96['shift']());}catch(_0x47fa3b){_0x433c96['push'](_0x433c96['shift']());}}}(_0x1554,0xef593),console[_0x21c0fe(0x1b5)]('Hello,\x20World!'));function _0x3ada(_0x45a330,_0x56d6d8){var _0x155403=_0x1554();return _0x3ada=function(_0x3ada16,_0x1506e2){_0x3ada16=_0x3ada16-0x1b5;var _0x56d357=_0x155403[_0x3ada16];return _0x56d357;},_0x3ada(_0x45a330,_0x56d6d8);}function _0x1554(){var _0x77cb5f=['131880qXVttB','805izSHgp','35569qKKRAU','2qylCFL','3336140DmuAUy','log','9mWNPmx','5247864dNqwwa','50618854PFOitL','3057352bkhXdf','5247834RzCyEy','5ohcBgy'];_0x1554=function(){return _0x77cb5f;};return _0x1554();}

الكود السابق مازال يعمل ويمكن تجربة تشغيله في الـ Console وسوف يعمل بدون مشكلة، ولكن أي شخص سيجد صعوبة كبيرة لفهم ما الذي يفعله هذا الكود أو محاولة التعديل عليه.

يوجد نسخة برمجية من الأداة السابقة يمكن إستعملاها مع Node.js ولها إضافات لكلٍ من Webpack و Gulp و Grunt و Netlify وغيرهم.

هنا أسئلة مشابهة ولها إجابات وطرق مختلفة لحماية الكود:

ملاحظة: توجد أدوات مشابهة لـ CSS كذلك مثل cssobfuscator

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...