
سایت وردپرسی هک شده؟ راهنمای جامع تشخیص، پاکسازی و بازیابی اورژانسی
آموزش کامل و کاربردی روش های پاکسازی وب سایت هک شده وردپرس، شناسایی بدافزار و افزایش امنیت سایت برای جلوگیری از حملات هکرها.
سایتتان هک شده؟ صفحه عجیبی نمایش میدهد؟ گوگل آن را «سایت مضر» علامتگذاری کرده؟ هاستینگتان سرویس را معلق کرده؟ اگر یکی از این اتفاقها افتاده، باید فوری عمل کنید — هر ساعت تأخیر به رتبه گوگل، اعتبار برند و دادههای کاربران آسیب میزند.
این راهنما یک پروتکل گامبهگام است — نه نظریه، بلکه اقدام. از تشخیص هک تا پاکسازی کامل تا پیشگیری از تکرار.
Table of contents [Show]
- 1 اول: تشخیص — آیا سایت واقعاً هک شده؟
- 2 دوم: اقدامات اورژانسی فوری (قبل از پاکسازی)
- 3 سوم: پاکسازی گامبهگام
- 4 چهارم: بازیابی — بعد از پاکسازی چه کار کنید
- 5 پنجم: پیشگیری — جلوگیری از تکرار
- 6 وقتی باید از متخصص کمک بگیرید
- 7 جمعبندی
- 8 ششم: آنالیز فورنزیک — چطور فهمیدیم از کجا هک شدیم؟
- 9 هفتم: بعد از پاکسازی — چکلیست ۷ روزه
- 10 هشتم: وقتی سایت هکشده را داریم و میخواهیم از نو بسازیم
اول: تشخیص — آیا سایت واقعاً هک شده؟
قبل از هر اقدامی باید مطمئن شوید سایت هک شده. این نشانهها را بررسی کنید:
نشانههای واضح هک
- Defacement (تغییر ظاهر): صفحه اصلی با محتوای عجیب یا پیام هکر جایگزین شده
- ریدایرکت غیرمنتظره: بازدیدکنندگان به سایتهای اسپم یا فارما ریدایرکت میشوند
- هشدار گوگل: پیام «این سایت ممکن است به رایانه شما آسیب برساند» در نتایج جستجو
- ایمیل هاست: اعلام تعلیق سرویس به دلیل فعالیت مخرب
- محتوای اسپم: صفحات جدید به فارسی/عربی/انگلیسی با کلمات کلیدی داروی قاچاق یا قمار
نشانههای پنهان هک (که اغلب نادیده گرفته میشوند)
- کاهش ناگهانی ترافیک ارگانیک در Google Analytics یا Search Console
- وجود ایمیلهای ناشناس در لیست ادمین وردپرس
- کندی غیرعادی سایت بدون تغییر در تنظیمات
- فایلهای PHP جدید و ناشناس در پوشههای uploads یا themes
- تغییر تاریخ آخرین ویرایش فایلهای core وردپرس
ابزارهای سریع تشخیص
- Google Search Console: بخش «Security Issues» را بررسی کنید
- Sucuri SiteCheck: آدرس سایت را وارد کنید — رایگان و سریع است
- VirusTotal: URL سایت را اسکن کنید
- Google Safe Browsing: آدرس: safebrowsing.google.com/safebrowsing/report_badware
دوم: اقدامات اورژانسی فوری (قبل از پاکسازی)
گام ۱: حالت تعمیر را فعال کنید
سایت را موقتاً offline کنید تا بازدیدکنندگان در معرض بدافزار قرار نگیرند. در وردپرس با افزودن کد زیر به wp-config.php:
define('WP_MAINTENANCE_MODE', true);
یا از طریق cPanel فایل .maintenance را در root ایجاد کنید.
گام ۲: بکآپ کامل بگیرید
حتی از سایت آلوده — قبل از هر تغییری بکآپ بگیرید. شاید بعداً برای آنالیز فورنزیک نیاز داشته باشید.
گام ۳: پسورد همه چیز را عوض کنید
- پسورد ادمین وردپرس (همه ادمینها)
- پسورد cPanel/هاست
- پسورد دیتابیس MySQL
- پسورد FTP
- کلیدهای API و Secret Keys در wp-config.php
گام ۴: کاربران ادمین ناشناس را پاک کنید
وارد پنل وردپرس شوید → Users → همه کاربرانی که نمیشناسید یا role آنها Administrator است را حذف کنید.
سوم: پاکسازی گامبهگام
روش ۱: استفاده از افزونه اسکنر (سریعترین)
اگر هنوز به پنل وردپرس دسترسی دارید:
- Wordfence Security: نصب کنید → Scan → گزارش فایلهای آلوده را بگیرید → Clean Files
- Sucuri Security: Scanner + Core Integrity Checker
- Malcare: اسکن خودکار و پاکسازی با یک کلیک (پولی اما کامل)
روش ۲: پاکسازی دستی از طریق FTP/cPanel
اگر به پنل دسترسی ندارید یا میخواهید مطمئن باشید پاکسازی کامل است:
الف) فایلهای core وردپرس را جایگزین کنید
نسخه تمیز وردپرس را از wordpress.org دانلود کنید. فایلهای core (wp-admin، wp-includes و فایلهای root) را با نسخه تمیز جایگزین کنید. مراقب باشید: پوشه wp-content و فایل wp-config.php را دست نزنید.
ب) پوشه themes و plugins را اسکن کنید
به دنبال فایلهای PHP با این الگوها بگردید:
- کدهای base64_decode در ابتدای فایلها
- فایلهای با نامهای عجیب (مثل wp-php.php، plugin.old.php)
- فایلهای PHP در پوشه uploads (وردپرس نباید PHP در uploads اجرا کند)
- کدهای eval()
ج) دیتابیس را بررسی کنید
در phpMyAdmin جستجو کنید برای: base64، eval(، javascript، iframe، hacked. اگر در محتوای پستها یا آپشنها چنین کدی یافتید، آن را پاک کنید.
د) فایل .htaccess را بررسی کنید
آن را با نسخه پیشفرض وردپرس مقایسه کنید. هر خطی که کد ریدایرکت ناشناخته دارد را حذف کنید. سپس از پنل وردپرس → Settings → Permalinks → Save Changes کنید تا .htaccess بازسازی شود.
چهارم: بازیابی — بعد از پاکسازی چه کار کنید
۱. درخواست بررسی مجدد از گوگل
اگر سایت در Google Search Console علامت «Security Issue» خورده: Search Console → Security Issues → Request a Review. معمولاً ۱ تا ۳ روز طول میکشد.
۲. هاست را مطلع کنید
اگر هاست سرویس را معلق کرده، بعد از پاکسازی تیکت بزنید و گزارش پاکسازی بدهید. اغلب ۱ تا ۲۴ ساعت باید سایت فعال شود.
۳. Google Safe Browsing Status را چک کنید
آدرس: transparencyreport.google.com/safe-browsing/search — سایت را جستجو کنید. اگر «No unsafe content found» نشان داد، پاکسازی موفق بوده.
بدافزار اغلب اسکریپتهای اضافه لود میکند که سایت را کند میکند. بعد از پاکسازی باید سرعت به حالت قبل برگردد یا بهتر شود.
پنجم: پیشگیری — جلوگیری از تکرار
پاکسازی بدون سختسازی امنیتی مثل خانهتکانی بدون قفل کردن در است. برای راهنمای کامل پیشگیری، مقاله امنیت وردپرس و پیشگیری از هک را بخوانید. خلاصه اقدامات فوری:
- همه پلاگینها، تمها و هسته وردپرس را بهروز کنید
- احراز هویت دو مرحلهای (2FA) برای همه ادمینها فعال کنید
- پلاگینهای غیرفعال را حذف کنید (نه فقط غیرفعال)
- تمهای nulled (کرکشده) را فوری پاک کنید — منبع اصلی هک هستند
- بکآپ خودکار روزانه تنظیم کنید
- دسترسی wp-admin را با IP Whitelist محدود کنید
وقتی باید از متخصص کمک بگیرید
اگر:
- هک بیشتر از یک بار تکرار شده
- به پنل دسترسی ندارید
- سایت حاوی دادههای حساس مشتریان است
- دامنه در blacklist گوگل یا Spamhaus ثبت شده
...بهتر است به متخصص امنیت وردپرس مراجعه کنید. تلاش DIY در موارد پیچیده میتواند شواهد را از بین ببرد یا مشکل را بدتر کند.
اگر به فکر ساخت سایت امنتر از ابتدا هستید، گزینه طراحی سایت اختصاصی با معماری امنیتی قویتر یا طراحی سایت با پیکربندی امنیتی پیشفرض را در نظر بگیرید.
جمعبندی
هک شدن سایت یک بحران است اما مدیریتپذیر. با پروتکل گامبهگام این مقاله میتوانید در ۲ تا ۴ ساعت سایت را پاکسازی و بازیابی کنید. مهمتر از پاکسازی، پیشگیری است — بیشتر هکهای وردپرس از پلاگینهای قدیمی، تمهای nulled و پسوردهای ضعیف نشأت میگیرند که همه قابل پیشگیری هستند.
ششم: آنالیز فورنزیک — چطور فهمیدیم از کجا هک شدیم؟
این مرحله برای اکثر صاحبان سایت اختیاری است اما برای جلوگیری از تکرار، فهمیدن نقطه ورود هکر اهمیت دارد. این نقطه را «Attack Vector» مینامند.
رایجترین نقاط ورود هک وردپرس
۱. تمها و پلاگینهای Nulled (کرکشده)
این مورد مسئول بیش از ۴۰٪ هکهای وردپرس است. تمها و پلاگینهای کرکشده رایگان که از سایتهای غیررسمی دانلود میشوند اغلب حاوی backdoor هستند — کدی که هنگام نصب به هکر اجازه دسترسی میدهد. راهحل ساده: هرگز از nulled theme/plugin استفاده نکنید. حتی اگر هزار نفر دیگر از همان فایل استفاده کردهاند و مشکلی نداشتهاند.
۲. پلاگینها و تمهای قدیمی با آسیبپذیری شناختهشده
هر هفته آسیبپذیریهای جدید در پلاگینهای وردپرس کشف و منتشر میشوند. هکرها بلافاصله بعد از انتشار گزارش آسیبپذیری، سایتهایی که هنوز پچ نشدهاند را اسکن میکنند. بهروزرسانی نکردن پلاگین به معنای باز گذاشتن یک در شناختهشده است.
۳. پسوردهای ضعیف یا بهخطر افتاده
حمله Brute Force — امتحان کردن ترکیبهای مختلف پسورد — هنوز یکی از روشهای رایج است. پسوردهای رایج مثل «admin»، «123456»، «wordpress» در چند ثانیه شکسته میشوند. اگر ایمیل ادمین شما در یک نشت اطلاعات قرار گرفته باشد و از همان پسورد در وردپرس استفاده کرده باشید، حسابتان در خطر است.
۴. آسیبپذیری هاستینگ
اگر روی یک هاست اشتراکی هستید و سایت دیگری در همان سرور هک شده باشد، ممکن است آن هک به سایت شما هم سرایت کرده باشد. این را «Cross-Site Contamination» مینامند.
۵. فایل wp-config.php یا .env در دسترس عموم
اگر فایلهای حساس پیکربندی در دسترس عموم باشند، اطلاعات دیتابیس فاش میشود. این را با بررسی پرمیشنهای فایل و .htaccess میتوان رفع کرد.
چطور نقطه ورود را پیدا کنیم؟
- Log فایلهای سرور را بررسی کنید: access.log و error.log در cPanel معمولاً IP هکر و فایلی که اکسپلویت شده را نشان میدهند
- تاریخ ایجاد فایلهای مشکوک: اگر فایل مشکوکی در تاریخ خاصی ایجاد شده، log همان روز را بررسی کنید
- Wordfence Scan history: Wordfence log مفصلی از فعالیتهای مشکوک نگه میدارد
هفتم: بعد از پاکسازی — چکلیست ۷ روزه
هفته اول بعد از پاکسازی حساسترین دوره است. هر روز این موارد را بررسی کنید:
روز اول
- تأیید پاکسازی با Sucuri SiteCheck
- تغییر همه پسوردها و کلیدهای API
- فعالسازی 2FA برای همه ادمینها
- درخواست بررسی از Google Search Console
روز دوم تا هفتم
- روزانه: بررسی گزارش Wordfence برای فعالیت مشکوک
- روزانه: بررسی لاگ لاگین ادمین برای تلاشهای ناموفق
- روز سوم: پیگیری وضعیت درخواست بررسی گوگل
- روز هفتم: اسکن کامل مجدد با Wordfence
هشتم: وقتی سایت هکشده را داریم و میخواهیم از نو بسازیم
گاهی پاکسازی منطقیترین راه نیست — مثلاً وقتی سایت سالهاست بهروزرسانی نشده، کد آن قدیمی است، یا هک چند بار تکرار شده. در این موارد بهتر است سایت را از پایه بازسازی کنید.
اگر این تصمیم را گرفتهاید، فرصتی است برای ساختن سایتی با امنیت بالاتر از ابتدا. گزینه طراحی سایت اختصاصی با معماری سفارشی، یا طراحی سایت وردپرس با پیکربندی امنیتی درست از ابتدا، هر دو از سایت قدیمی رها از مشکل امنیتی بهتر هستند. اگر سایت جدید میخواهید رتبه بگیرد، سئو سایت را از همان ابتدای کار در نظر بگیرید.

مریم گوهرزاد
مدرس و بنیانگذار هلدینگ آرتا رسانه. برنامه نویس و محقق حوزه بلاکچین



