Hotlinking چیست و چگونه از سرقت تصاویر سایت وردپرسی خود جلوگیری کنیم؟

هات‌لینکینگ (Hotlinking) که به آن «سرقت پهنای باند» (Bandwidth Theft) هم می‌گویند، زمانی اتفاق می‌افتد که یک وب‌سایت از تصویر یا فایل رسانه‌ای میزبانی‌شده روی سرور شما استفاده کند، بی‌آنکه آن را روی هاست خودش ذخیره کند. در این روش، صاحب سایت فقط آدرس مستقیم فایل را برمی‌دارد و آن را در صفحه‌اش قرار می‌دهد؛ بنابراین هر بار که بازدیدکننده‌ای آن صفحه را باز می‌کند، تصویر از سرور شما بارگیری می‌شود، نه از سرور آن سایت.

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

  • یک مثال ساده:فرض کنید آدرس تصویر اختصاصی شما https://yoursite.com/images/server-setup.png است. مدیر یک سایت دیگر در کد HTML مقاله خود این خط را می‌نویسد:
<img src="https://yoursite.com/images/server-setup.png" alt="راهنمای سرور">
  • چرا این اتفاق به ضرر شماست؟
    1. بلعیده شدن ترافیک و پهنای باند: هر بار که کاربری سایت متخلف را باز می‌کند، تصویر از هاست و ترافیک ماهانه شما دانلود می‌شود. اگر آن سایت پربازدید باشد، در پایان ماه با اتمام ناگهانی پهنای باند (Bandwidth Limit) یا هزینه‌های مازاد مواجه می‌شوید.
    2. اشغال منابع سرور (CPU و RAM): به ازای هر بازدید، وب‌سرور شما باید پورت باز کند و فایل ارسال کند؛ عملاً هاست شما تبدیل به CDN رایگان یک سایت دیگر شده است!
    3. کندی لودینگ: درخواست‌های مکرر بیرونی می‌توانند باعث کندی باز شدن تصاویر برای کاربران واقعی خودتان شوند.

جلوگیری از Hotlinking در سطح وب‌سرور (روش اصولی و پرسرعت)

بهترین و بهینه‌ترین راه برای جلوگیری از هات‌لینک، اعمال محدودیت در سطح وب‌سرور است؛ برای مثال در Nginx، Apache یا LiteSpeed. در این روش، سرور درخواست فایل را پیش از آنکه به وردپرس، PHP یا دیتابیس برسد بررسی می‌کند و اگر درخواست از دامنه‌ای غیرمجاز آمده باشد، می‌تواند آن را رد کند یا پاسخ دیگری برگرداند. در نتیجه، برخلاف برخی افزونه‌ها که پس از بارگذاری بخشی از سایت وارد عمل می‌شوند، این راهکار معمولاً سربار بسیار کمتری روی وردپرس دارد و مدیریت درخواست‌ها را در لایه‌ای سریع‌تر انجام می‌دهد.

مزیت دیگر این روش، کنترل دقیق‌تر Hotlinking و مدیریت فایل‌ها و دامنه‌های مجاز است؛ برای نمونه می‌توانید نمایش تصاویر را به دامنهٔ خودتان و زیردامنه‌های مشخص محدود کنید تا سایت‌های دیگر نتوانند با استفاده از Hotlinking، فایل‌ها را مستقیماً از سرور شما بارگذاری کنند. بااین‌حال، تنظیمات جلوگیری از Hotlinking به نوع وب‌سرور و ساختار سایت بستگی دارد و بهتر است پیش از اجرا با دقت آزمایش شود. پیکربندی اشتباه ممکن است نمایش تصاویر را در سایت خودتان، پنل مدیریت، فیدها یا ابزارهای موردنیاز مختل کند.

همچنین موتورهای جست‌وجو، شبکه‌های اجتماعی و سرویس‌های واسطه ممکن است برای دریافت تصویر از دامنه‌ای متفاوت درخواست بفرستند؛ بنابراین، پیش از اعمال محدودیت گسترده برای مقابله با Hotlinking، دامنه‌های ضروری را در فهرست مجاز قرار دهید.

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

 

کانفیگ Apache و LiteSpeed (از طریق .htaccess)

کد زیر را در فایل .htaccess روت هاست خود قرار دهید:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yourdomain\.com [NC]
# در صورت نیاز اجازه به موتورهای جستجو برای ایندکس تصاویر در گوگل ایمیج
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteRule \.(jpg|jpeg|png|gif|webp|avif)$ - [F,NC,L]
</IfModule>

کانفیگ Nginx (سرورهای لینوکسی و داکر)

اگر وردپرس شما روی Nginx یا در کانتینر Docker اجرا می‌شود، بلوک زیر را درون بلاک server { ... } یا کانفیگ سایت قرار دهید:

location ~* \.(jpg|jpeg|png|gif|webp|avif)$ {
valid_referers none blocked server_names *.yourdomain.com *.google.* *.bing.*;
if ($invalid_referer) {
return 403;
}
}

پس از ویرایش، با دستور nginx -t تست گرفته و سرویس را ریلود کنید (systemctl reload nginx یا ریستارت کانتینر).

استفاده از کلودفلر (Cloudflare) و CDNهای مدرن

اگر از CDN کلودفلر استفاده می‌کنید، نیازی به دستکاری وب‌سرور ندارید:

  1. فعال‌سازی ScrapeShield (Hotlink Protection):وارد داشبورد کلودفلر شوید > تب Scrape Shield > گزینه Hotlink Protection را فعال (On) کنید.
  2. استفاده از Cloudflare WAF / Bot Fight Mode:در سال‌های اخیر، بخش اعظمی از تصاویر توسط اسکرپرهای خودکار دانلود می‌شوند. فعال‌سازی AI Scrapers and Crawlers Block در داشبورد کلودفلر (بخش Security > Bots) مانع خزش اتوماتیک پایگاه داده تصاویر شما توسط بات‌های ناشناس می‌شود.

استفاده از واترمارک هوشمند و خودکار (Watermarking)

واترمارک باعث می‌شود حتی اگر تصویری با اسکرین‌شات یا ابزارهای دانلود ذخیره شد، برند، آدرس دامنه یا لوگوی شما روی آن باقی بماند.

  • افزونه‌های برتر و سبک:
    • Easy Watermark: سبک و امکان افزودن خودکار لوگو یا متن به تمام فرمت‌های متداول از جمله WebP.
    • Image Watermark: گزینه‌ای پایدار و با تنظیمات دقیق محل قرارگیری واترمارک روی سایزهای مختلف تصاویر (Thumbnail, Medium, Large).
  • توصیه عملکردی: واترمارک را با شفافیت (Opacity) بین ۳۰ تا ۴۰ درصد در مرکز یا گوشه‌های حیاتی تصویر قرار دهید تا با ابزارهای ساده Content-Aware یا هوش مصنوعی به راحتی پاک نشود.

غیرفعال کردن کلیک راست و درگ تصاویر (Right-Click & Drag)

این روش برای کاربران حرفه‌ای مانع صددرصدی نیست (چون ابزار Inspect Element وجود دارد)، اما جلوی ۹۰٪ کاربران عادی را می‌گیرد.

افزودن تکه کد JS بدون نصب افزونه سنگین

کافیست قطعه کد جاوااسکریپت زیر را در فوتر قالب یا از طریق افزونه‌های Code Snippets اضافه کنید:

<script>
document.addEventListener('contextmenu', function(e) {
    if (e.target.nodeName === 'IMG') {
        e.preventDefault();
    }
}, false);


document.addEventListener('dragstart', function(e) {
    if (e.target.nodeName === 'IMG') {
        e.preventDefault();
    }
}, false);
</script>

از طریق CSS (غیرفعال کردن انتخاب و تعامل روی تصاویر)

img {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
-webkit-user-drag: none;
pointer-events: none; /* توجه: اگر تصاویر شما لینک دارند از pointer-events استفاده نکنید */
}

webkit / khtml / moz / o در دنیای طراحی وب به عنوان پیشوند مرورگرها (Vendor Prefixes) شناخته می‌شوند.

وقتی کنسرسیوم وب (W3C) ویژگی جدیدی را معرفی می‌کند، یا زمانی که یک مرورگر می‌خواهد قابلیتی آزمایشی (مثل جلوگیری از انتخاب یا کشیدن تصویر) را زودتر از بقیه پیاده‌سازی کند، از پیشوند اختصاصی موتور رندرینگ خودش استفاده می‌کند.

پیشوند موتور رندرینگ مرورگرهای هدف
-webkit- Blink / WebKit کروم، سافاری، اج، موبایل‌ها
-moz- Gecko فایرفاکس (Firefox)
-o- Presto اپرای قدیمی (Opera)
-khtml- KHTML مرورگرهای قدیمی لینوکس

تنظیم هدرهای امنیتی مدرن (CORP)

یکی از هدرهای امنیتی که به مرورگر می‌گوید محتوای شما نباید توسط دامنه دیگر لود شود، هدر Cross-Origin-Resource-Policy (CORP) است.

در Nginx:

add_header Cross-Origin-Resource-Policy "same-origin" always;

این هدر جلوی حملات موسوم به Cross-Origin Leak و جاسازی است‌ها در وب‌سایت‌های دیگر را در سطح مرورگر کلاینت می‌گیرد.

چگونه جلوی سرقت تصاویر سایت وردپرسی خود را بگیرید؟

در صورت سرقت تصاویر چه کارهایی می‌توان کرد؟ (اقدامات قانونی و سئو)

اگر متوجه شدید وب‌سایتی بدون اجازه از تصاویر اختصاصی شما استفاده کرده، بهتر است پیش از هر اقدامی مدارک را جمع‌آوری کنید و سپس متناسب با نوع استفاده، از راهکارهای فنی، سئویی و حقوقی کمک بگیرید. اگر تصویر از هاست شما مستقیماً لینک شده باشد، موضوع Hotlinking هم مطرح است؛ اما اگر تصویر را دانلود و روی سرور خودش بارگذاری کرده باشند، باید برای حذف نسخهٔ کپی‌شده پیگیری کنید.

۱. شواهد را ثبت کنید

از صفحه‌ای که تصویر در آن منتشر شده اسکرین‌شات بگیرید و نشانی دقیق صفحه و تصویر را ذخیره کنید. نسخهٔ اصلی تصویر، فایل خام، تاریخ انتشار در سایت خودتان و هر مدرکی که نشان دهد مالک یا صاحب‌حق استفاده از تصویر هستید نیز می‌تواند مفید باشد. اگر مسئله به پیگیری رسمی برسد، داشتن لینک‌های دقیق و مدارک روشن، رسیدگی را آسان‌تر می‌کند.

۲. با مدیر سایت تماس بگیرید

در بسیاری از موارد، یک پیام محترمانه و روشن به مدیر سایت نتیجه می‌دهد. لینک صفحهٔ متخلف را بفرستید، توضیح دهید که تصویر متعلق به شماست و مشخص کنید چه می‌خواهید: حذف تصویر، جایگزینی آن با نسخه‌ای مجاز، یا دریافت اجازه و درج اعتبار. بهتر است برای پاسخ مهلت معقولی تعیین کنید و مکاتبات را نگه دارید.

۳. گزارش نقض حق نشر به گوگل بفرستید

اگر تصویر یا صفحهٔ متخلف در نتایج جست‌وجوی گوگل نمایش داده می‌شود، می‌توانید از فرم رسمی گزارش حقوقی گوگل برای ثبت درخواست مربوط به حق نشر استفاده کنید. نشانی دقیق صفحه‌های موردنظر و توضیح مشخص دربارهٔ اثر و مالکیت آن را وارد کنید؛ گزارش صفحهٔ اصلی سایت به‌جای URL محتوای متخلف ممکن است برای بررسی کافی نباشد. گوگل درخواست را بررسی می‌کند و ممکن است دسترسی به نتیجه را در محصولات خود محدود یا حذف کند، اما این کار لزوماً تصویر را از خودِ وب‌سایت میزبان پاک نمی‌کند.

۴. به شرکت میزبان سایت گزارش دهید

اگر مدیر سایت پاسخ نداد، می‌توانید شرکت میزبانی وب را پیدا کنید و گزارش را به واحد رسیدگی به تخلف یا Abuse آن بفرستید. معمولاً لازم است نشانی صفحهٔ متخلف، مشخصات تصویر، لینک نسخهٔ اصلی و توضیح مالکیت را ارائه کنید. شرکت میزبان ممکن است مدرک بیشتری بخواهد یا بر اساس قوانین و سیاست‌هایش اقدام کند؛ بنابراین حذف محتوا تضمین‌شده نیست.

۵. اگر تصویر هات‌لینک شده است، لینک را مدیریت کنید

وقتی سایت مقابل تصویر را مستقیماً از سرور شما بارگذاری می‌کند، می‌توانید دسترسی آن دامنه را از طریق تنظیمات وب‌سرور، CDN یا ابزارهای هاست محدود کنید. در صورت نیاز، فایل را به نشانی جدید منتقل کنید و آدرس قبلی را مدیریت کنید. تعویض تصویر اصلی با پیامی مانند «این تصویر بدون اجازه استفاده شده است» هم ممکن است، اما با احتیاط انجامش دهید: ابتدا مطمئن شوید این تغییر فقط روی درخواست‌های سایت متخلف اثر می‌گذارد، نه بازدیدکنندگان سایت خودتان یا دیگر استفاده‌های مجاز. همچنین از محتوای توهین‌آمیز یا گمراه‌کننده استفاده نکنید.

۶. برای سئو، نسخهٔ اصلی را تقویت کنید

سرقت تصویر به‌تنهایی به این معنا نیست که حتماً رتبهٔ سایت شما افت می‌کند؛ بااین‌حال، بهتر است صفحهٔ اصلی تصویر را واضح و کامل معرفی کنید. تصویر را در کنار محتوای مرتبط منتشر کنید، نام فایل و متن جایگزین مناسبی داشته باشید و در صورت امکان صفحهٔ اصلی را به‌خوبی در ساختار سایت و نقشهٔ سایت قرار دهید. در صورت انتشار دوبارهٔ تصویر در سایت خودتان، نشانی نسخهٔ اصلی را در متادیتای تصویر یا اطلاعات ساختاریافته، اگر با زیرساخت سایتتان سازگار است، مشخص کنید.

در مجموع، ابتدا مدرک جمع‌آوری کنید، سپس با مدیر سایت تماس بگیرید و در صورت نیاز سراغ گزارش به گوگل یا میزبان وب بروید. برای Hotlinking نیز محدودسازی فنی معمولاً راهکار مستقیم‌تری است. هیچ‌کدام از این اقدامات نتیجهٔ قطعی را تضمین نمی‌کنند، اما پیگیری مستند و مرحله‌به‌مرحله می‌تواند به حذف استفادهٔ غیرمجاز و محافظت بهتر از تصاویر و منابع سایت کمک کند.

 

جمع‌بندی

محافظت از تصاویر سایت فقط به معنای جلوگیری از کپی‌شدن آن‌ها نیست؛ Hotlinking می‌تواند بی‌آنکه متوجه شوید، پهنای باند و منابع سرورتان را مصرف کند، سرعت سایت را پایین بیاورد و هزینه میزبانی را افزایش دهد. به همین دلیل، بهتر است پیشگیری را از لایه‌های اصلی شروع کنید: محدودکردن دسترسی به تصاویر در سطح وب‌سرور و استفاده از قابلیت‌های Cloudflare یا CDNهای مدرن، معمولاً راهکارهایی مؤثرتر و سریع‌تر از روش‌های ظاهری هستند.

در کنار این تدابیر، واترمارک هوشمند و خودکار کمک می‌کند نام یا نشان برندتان همراه تصویر دیده شود و در صورت بازنشر، منشأ آن راحت‌تر شناسایی شود. هدر امنیتی CORP نیز می‌تواند کنترل بیشتری بر نحوه بارگذاری منابع در مرورگرها فراهم کند. در مقابل، غیرفعال‌کردن کلیک راست یا امکان کشیدن تصویر، بیشتر یک مانع ساده برای کاربران عادی است و به‌تنهایی جلوی دانلود یا کپی تصاویر را نمی‌گیرد؛ بنابراین نباید آن را راهکاری کامل برای حفاظت از محتوا دانست.

اگر تصویری بدون اجازه در سایتی دیگر استفاده شد، ابتدا از صفحه و تصویر مدرک ثبت کنید، سپس در صورت امکان از مدیر سایت درخواست حذف یا درج اعتبار کنید. اگر موضوع جدی‌تر بود، می‌توانید پیگیری قانونی و درخواست‌های مربوط به حذف محتوا از نتایج جست‌وجو را بررسی کنید. در نهایت، هیچ روش واحدی محافظت صددرصدی ایجاد نمی‌کند؛ اما ترکیب محدودسازی فنی، واترمارک‌گذاری و پیگیری به‌موقع، هم از منابع سایتتان بهتر محافظت می‌کند و هم شانس استفاده غیرمجاز از تصاویر را کاهش می‌دهد.

ثبت رای
جستجو

سرفصل های مقاله

نظرات کاربران
دیدگاهتان را بنویسید

لطفا علاوه بر متن نظر، نام و ایمیل خود را نیز وارد کنید. (ایمیل شما منتشر نخواهد شد)