جلوگیری از کپی محتوای سایت با سی اس اس و جاوا اسکریپت

جلوگیری از کپی محتوای سایت با سی اس اس و جاوا اسکریپت

جلوگیری از کپی محتوای سایت با سی اس اس و جاوا اسکریپت: حتما برای شما هم پیش اومده که کارفرما درخواست میده یه کاری کنید محتوای سایت قابل کپی برای بازدیدکنندگان نباشه یا حداقل زحمت زیادی برای این کار متحمل بشن تا خیلی کمتر رقبت به کپی برداری از محتوای سایت کنند.

اما هر روشی جالب نیست و شما باید روشی برای اینکار داشته باشید که ضربه ای به سایت و خصوصا سئو سایت وارد نکنه اما روش های مختلف زیاده و شما میتونید به دلخواه خودتون انتخاب کنید.

امروزه کپی کردن مقالات و انتشار با نام خود بسیار رایج شده که با عنوان سرقت محتوا شناخته می‌شود که در مورد محتوای متنی بیشتر رایج است. راه‌هایی برای محافظت از آن تا حدودی وجود دارد که با استفاده از CSS و جاوا اسکریپت می‌توان از آن‌ها استفاده کرد.

یکی از دغدغه‌های تولید محتوای امروزی کپی برداری از محتوا است که به شدت به چشم می‌خورد اما این داستان در مورد مطالب متنی بیشتر اتفاق می‌افتد و کاربر همه مطالب یک وب سایت را با یک Copy و Paste ساده به عنوان مقاله خود در وب سایت خود منتشر می‌کنند. برای همین کپی از سایت های قفل موردی هست که خیلی از کاربران دنبال آن هستند.

برای غیرفعال کردن کپی متن در CSS و جاوا اسکریپت، باید به 3 مورد را مورد هدف قرار دهیم:

  • برای جلوگیری از copy/paste کردن منوی کلیک راست(Context Menu) را غیر فعال کنید.
  • کپی کردن در کلیپ بورد را غیرفعال کنید.
  • انتخاب کردن متن(Select) را غیر فعال کنید و برجسته کردن متن(HighLighting) را نیز پنهان کنید.
زمان مطالعه: 3 دقیقه
بازدید: 1630
پرسش و پاسخ: 0

جلوگیری از کپی کردن محتوای سایت

برای این کار بهتره از سی اس اس استفاده کنید تا مشکلات عدم ایندکس شدن محتوا برای موتورهای جستجو رو نداشته باشید مثال ذیل کد لازم برای شماست که میتونید با استفاده از این کد برای هر تگی در سایت، اجازه انتخاب مطلب رو از کاربر بگیرید

نکته: این فقط یک استایل هست که با استفاده از اون نمیزاریم بازدید کننده مطلب مورد دلخواه خودش رو با روش های عادی کپی کنه و این روش هم قابل دور زدن هستش پس حواستون باشه به این قضیه.

جلوگیری از کپی محتوای سایت با css

کدهای جلوگیری از انتخاب متن با css

-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;

کدهای اجازه دسترسی به بازدیدکننده برای انتخاب متن با css

-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
-o-user-select: text;
user-select: text;

 غیر فعال کردن منوی کلیک راست (Context Menu) با جاوا اسکریپت برای جلوگیری از کپی

اجازه دهید با یکی از رایج ترین مکانیسم های جلوگیری از کپی متن شروع کنیم - غیرفعال کردن کلیک راست.

تنها کاری که باید انجام دهیم این است که برای contextmenu event، addEventListener("contextmenu") بنویسیم و از باز شدن آن با تکه کد evt.preventDefault() جلوگیری کنیم.

ما در این قسمت کلیک راست ماوس را غیر فعال نمی‌کنیم چون راه‌های دیگری برای کلیک راست کردن وجود دارد (به عنوان مثال صفحات لمسی می‌توانند این داستان را دور بزنند)، ما در این قسمت Contextmenu را غیر فعال کردیم تا دیگر منویی برای کلیک راست وجود نداشته باشد.

document.addEventListener("contextmenu", evt => evt.preventDefault(), false);

غیر فعال کردن کپی در کلیپبورد (جلوگیری کپی با جاوا اسکریپت)

این یکی از مواردی است که شخصاً فکر می‌کنم منطقی‌تر است – حتی پس از غیرفعال کردن contextmenu، افراد همچنان می‌توانند با استفاده از کلیدهای میانبر یا از خود آیتم‌های منوی مرورگر متن را کپی کنند. بهترین راه برای جلوگیری از آن، هدف قرار دادن خود رویداد کپی است.

یک addEventListener() برای رویداد copy می‌نویسیم.

توانید متن کپی شده در کلیپبورد را با evt.clipboardData.setData ("text/plain", "MESSAGE") تغییر دهید.

در نهایت، از عمل کپی پیش‌فرض با evt.preventDefault() جلوگیری می‌کنیم.

document.addEventListener("copy", evt => {
  evt.clipboardData.setData("text/plain", "Copying is not allowed on this webpage");
  evt.preventDefault();
}, false);

جلوگیری از کپی قسمت خاصی از محتوا با جاوا اسکریپت

اگر فقط می خواهید از یک بخش خاص از متن محافظت کنید، آنقدرها هم سخت نیست.

<script>
window.addEventListener("load", () => {
  var target = document.getElementById("no-copy");
 
  target.addEventListener("contextmenu", evt => evt.preventDefault(), false);
 
  target.addEventListener("copy", evt => {
    evt.clipboardData.setData("text/plain", "Copying is not allowed on this webpage");
 
    evt.preventDefault();
  }, false);
});
</script>
 
<style>
#no-copy { user-select: none; }
#no-copy::selection { background: none; }
#no-copy::-moz-selection { background: none; }
</style>
 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p id="no-copy">This section cannot be copied.</p>

فقط مانند مثال بالا با استفاده از تکه کد زیر المان مربوطه را هدف قرار دهید:

var target = document.getElementById("no-copy");

خب تبریک میگم، شما توانستید که یک سطح امنیتی قابل توجهی برای جلوگیری از کپی محتوای متنی وب سایت خود اعمال کنید. اما لطفاً توجه داشته باشید که اینها جلوی "super hacker copycast" را نمی‌گیرند. جاوا اسکریپت و CSS را می توان غیرفعال کرد و تمام این "محافظت‌ها" بیهوده خواهد بود.

اما داشتن محافظت در این سطح همچنان بهتر از هیچ است. حداقل از بسیاری از کپی‌کنندگان نه چندان حرفه‌ای جلوگیری می‌کند.

جلوگیری از کپی محتوا با حفاظت حقوقی

اگر چه موارد بالا کارساز نیستند اما همانطور که گفتیم بهتر از نداشتن هیچ محافظی است اما شما می‌توانید که راه‌های قانونی را برای محافظت از کپی برداری را هم در نظر بگیرید.

  • ابتدا باید یک تله درست کنید. یک واترمارک کم رنگ روی تصاویر خود اضافه کنید، پیام مخفی "این مقاله متعلق به jobteam.ir است" را در جایی تنظیم کنید.
  • اجازه دهید کپی کننده طعمه را بگیرد.
  • از Whois برای پیدا کردن شرکت میزبانی کپی استفاده کنید - ممکن است اطلاعات پنهان باشد و ممکن است لازم باشد با چندین بار در مورد سرقت محتوا با آن‌ها تماس بگیرید.
  • هنگامی که اطلاعات را به دست آوردید، با شرکت میزبان تماس بگیرید، به آنها مدرکی نشان دهید که محتویات شما به سرقت رفته است. اکثر شرکت‌های میزبانی‌کننده از آن پیروی می‌کنند، کمک می‌کنند و نسخه کپی را برای همیشه مسدود می‌کنند.
  • از طرف دیگر، می‌توانید در DMCA ثبت‌نام کنید، هزینه کمی بپردازید و از آن‌ها بخواهید که به شما در حفاظت از محتوای شما، کمک کنند.

نکته: من شخصاً وب‌سایت‌هایم را با کنسول جستجوی گوگل و ابزار وبمستر بینگ ثبت می‌کنم. لحظه‌ای که مقاله‌ای را منتشر می‌کنم، به‌صورت دستی درخواست Crawl و Register می‌کنم – کپی‌کت‌ها هیچ شانسی برای برنده شدن در رتبه‌بندی جستجو نخواهند داشت. در واقع با کپی برداری بیشتر فقط به خودشان آسیب می زنند.

اگر حتی می‌خواهید حفاظت بیشتری داشته باشید، اسکریپت‌های خود را پنهان کنید تا پیدا کردن محل قرارگیری کد حفاظت شده بسیار دشوار شود.

بهزاد میرزازاده
مسیر درست با پرسش های درست ساخته می شود

مشاهده تمام مطالب نویسنده