نجات سایت هک شده یکی از وحشتناک‌ترین تجربه‌هایی است که هر صاحب وب‌سایت ممکن است با آن روبه‌رو شود. لحظه‌ای که متوجه می‌شوید سایت شما آلوده شده، محتوای اسپم پخش می‌کند یا گوگل آن را به عنوان خطرناک علامت‌گذاری کرده، می‌تواند استرس‌زا و گیج‌کننده باشد. آمار در سال 2024 و 2025 نشان می‌دهد که روزانه بیش از 30,000 وب‌سایت هک می‌شوند و میانگین زمان کشف هک توسط صاحبان سایت 197 روز است!
💡 هک وب‌سایت = نفوذ غیرمجاز با هدف سرقت، آسیب یا سوءاستفاده
  • ✅ شناسایی سریع و واکنش فوری تا 90٪ آسیب را کاهش می‌دهد
  • ✅ سرورهای امن وب‌داده با فایروال پیشرفته و پشتیبانی 24/7 در حال ارائه هستند
حتماً زمانی که این مقاله را باز کرده‌اید، در وضعیت بحرانی قرار دارید و به دنبال راهکارهای فوری و عملی برای رفع هک وردپرس یا سایر CMS ها هستید. در این راهنمای جامع از بلاگ وب داده، 12 تکنیک ضروری امنیت را در سه فاز – مهار آسیب، پاک‌سازی و پیشگیری – با جزئیات کامل توضیح می‌دهیم تا بتوانید سریعاً کنترل سایت خود را بازیابی کنید و از حملات آینده محافظت نمایید. پس همراه ما باشید و با آرامش کامل این بحران را مدیریت کنید! 🛡️👇
👇 قبل از شروع فرآیند نجات سایت هک شده، باید مطمئن شوید که واقعاً هک شده‌اید. این علائم رایج هستند:

آنچه در این مقاله می‌خوانید:

علائم واضح و فوری وب‌سایت هک شده

علائم قابل مشاهده:
  • محتوای ناخواسته یا اسپم در صفحات
  • تغییر صفحه اصلی به محتوای مخرب
  • ریدایرکت خودکار به سایت‌های دیگر
  • پاپ‌آپ‌های مزاحم و تبلیغات غیرمعمول
  • صفحات جدید با عنوان‌های غریب در نتایج گوگل
علائم فنی:
  • هشدار “این سایت ممکن است هک شده” در گوگل
  • افزایش ناگهانی مصرف CPU و RAM سرور
  • فایل‌های ناشناخته در دایرکتوری سرور
  • کاربران جدید در پنل ادمین
  • ایمیل‌های هرزنامه از سرور شما
نجات وب‌سایت هک شده
👇 نمودار علائم هک 👇

مشکوک به هک

علائم ظاهری → بررسی محتوا
علائم فنی → بررسی سرور
علائم امنیتی → بررسی لاگ‌ها

تأیید هک → شروع فرآیند نجات
🔸 آمار مهم 2024-2025
در 73٪ موارد، هکرها از آسیب‌پذیری افزونه‌های قدیمی برای نفوذ استفاده می‌کنند و نه خود CMS.
⚠️ هشدار: اگر Google Search Console پیغام “Security Issue” داده، وضعیت فوریت دارد!

فاز اول: مهار فوری آسیب و جلوگیری از گسترش (تکنیک 1-4)

هنگامی که متوجه هک شدید، اولین هدف جلوگیری از آسیب بیشتر است.

تکنیک 1: آفلاین کردن فوری سایت (حالت تعمیرات)

چرا مهم است؟
سایت آلوده می‌تواند بازدیدکنندگان را آلوده کند، اطلاعات آن‌ها را سرقت کند و رتبه SEO شما را نابود کند.
👇 آفلاین کردن فوری سایت در وردپرسی
◀️ روش 1: از طریق cPanel (ساده‌تر):
  • گام 1: پیدا کردن فایل .htaccess

1. وارد cPanel شوید
2. File Manager را باز کنید
3. به مسیر public_html بروید
4. در بالای صفحه “Settings” کلیک کنید
5. گزینه “Show Hidden Files” را فعال کنید
6. فایل .htaccess را پیدا می‌کنید (در پوشه اصلی وردپرس)

چک لیست بازیابی هک
امنیت وب سایت
  • گام 2: ویرایش فایل

1. روی .htaccess راست‌کلیک کنید
2. “Edit” را انتخاب کنید
3. در ابتدای فایل این کد را اضافه کنید:

رفع هک وردپرس
نجات سایت هک شده
apache
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^185\.88\.155\.20$
RewriteCond %{REQUEST_URI} !^/maintenance\.html$
RewriteRule ^(.*)$ /maintenance.html [R=302,L]
  • گام 3: ساخت صفحه Maintenance
📝 مکان: /public_html/maintenance.html (کنار فایل .htaccess)

نحوه ساخت:
1. در همان File Manager باشید (در پوشه public_html)
2. روی دکمه “+ File” یا “New File” کلیک کنید
3. نام فایل را بنویسید: maintenance.html
4. روی فایل جدید راست‌کلیک → Edit
5. محتوای زیر را کپی و Paste کنید:

نجات وب‌سایت هک شده
نجات سایت هک شده
html
<!DOCTYPE html>
<html>
<head>
    <title>در حال تعمیرات</title>
    <meta charset="utf-8">
</head>
<body style="text-align:center; padding-top:100px; font-family:Tahoma;">
    <h1>🔧 سایت در حال تعمیرات است</h1>
    <p>به زودی برمی‌گردیم!</p>
</body>
</html>
رفع هک وردپرس
سپس 6. Save Changes کنید
  • گام 4: جایگزینی IP شما: برگردید به فایل .htaccess که در گام 2 ویرایش کردید.
    در این خط:
RewriteCond %{REMOTE_ADDR} !^185\.88\.155\.20$
                              ↑↑↑ این عدد ↑↑↑
📌 نکته: این کار موقت است! سایت را بیش از 24-48 ساعت آفلاین نگه ندارید.

تکنیک 2: تغییر فوری تمام رمزهای عبور

رمزهای حیاتی که باید فوراً تغییر کنند:
سرویس اولویت دستورالعمل
پنل هاستینگ 🔴 بحرانی cPanel/DirectAdmin – اول از همه
FTP 🔴 بحرانی تمام اکانت‌های FTP را حذف/تغییر دهید
دیتابیس 🔴 بحرانی MySQL User Password از phpMyAdmin
ادمین CMS 🔴 بحرانی wp-admin یا admin panel
SSH 🔴 بحرانی اگر دسترسی SSH دارید
چگونه رمز قوی بسازیم:
  • رمز ضعیف: admin123
  • رمز قوی: K#9mP@x2$vL8&qW5
فرمول رمز امن:
– حداقل 16 کاراکتر
– ترکیب حروف (A-z)، اعداد (0-9)، نمادها (!@#$)
– هیچ کلمه قاموسی ندارد
🔶 توصیه وب‌داده
از Password Manager های معتبر مانند LastPass یا 1Password استفاده کنید تا رمزهای پیچیده را ذخیره کنید.

تکنیک 3: قطع موقت دسترسی‌های مشکوک

◀️ حذف کاربران مشکوک در وردپرس
  • روش 1: از داخل phpMyAdmin
    مسیر: cPanel → Databases → phpMyAdmin
  1. وارد cPanel شوید
  2. بخش “Databases” → “phpMyAdmin” کلیک کنید
  3. از منوی سمت چپ، دیتابیس وردپرس خود را انتخاب کنید
    (معمولاً نامش شامل username_wp یا username_wor است)
  4. بالای صفحه روی تب “SQL” کلیک کنید
  5. کدهای زیر را یکی یکی اجرا کنید:
نجات سایت هک شده
SELECT user_login, user_email FROM wp_users WHERE ID IN 
(SELECT user_id FROM wp_usermeta WHERE meta_key = 'wp_capabilities' 
AND meta_value LIKE '%administrator%');
  • نتیجه: لیست تمام ادمین‌ها را نشان می‌دهد
  • اگر کاربری را نمی‌شناسید → مشکوک است!
مرحله 2: حذف کاربر مشکوک

اول باید ID کاربر مشکوک را بدانید:

  1. در نتایج مرحله 1، اگر username مشکوکی دیدید
  2. برای پیدا کردن ID اش این کد را اجرا کنید:
SELECT user_login, user_email FROM wp_users WHERE ID IN 
(SELECT user_id FROM wp_usermeta WHERE meta_key = 'wp_capabilities' 
AND meta_value LIKE '%administrator%');
  • فرض کنید ID کاربر = 99
  • حالا با این کد حذفش کنید:
DELETE FROM wp_users WHERE user_login = 'hacker_username';
DELETE FROM wp_usermeta WHERE user_id = 99;
📌 نکته امنیتی: قبل از اجرای DELETE، حتماً بک‌آپ از دیتابیس بگیرید!
  • روش 2: از داشبورد وردپرس
    مسیر: wp-admin → Users → All Users
  1. وارد داشبورد وردپرس شوید
  2. کاربران → همه کاربران
  3. لیست را بررسی کنید
  4. کاربر مشکوک → Delete
  5. محتوای او را به کاربر دیگری منتقل کنید یا حذف کنید
⚠️ هشدار: اگر هکر رمز شما را تغییر داده و نمی‌توانید وارد wp-admin شوید، فقط روش 1 (phpMyAdmin) کار می‌کند.
◀️ غیرفعال کردن موقت افزونه‌ها:
mv wp-content/plugins wp-content/plugins-disabled
این کار تمام افزونه‌ها را غیرفعال می‌کند (احتمالاً backdoor هم در یکی از آن‌هاست).

تکنیک 4: بک‌آپ فوری وضعیت فعلی (برای بررسی)

درنظر بگیرید حتی اگر سایت آلوده است، باید نسخه‌ای از آن بگیرید:
tar -czf backup-hacked-$(date +%Y%m%d).tar.gz /home/username/public_html/
mysqldump -u username -p database_name > backup-db-$(date +%Y%m%d).sql

فاز دوم: پاک‌سازی و بازیابی کامل (تکنیک 5-8)

بعد از مهار، زمان پاک‌سازی کامل است.

تکنیک 5: بازیابی از بک‌آپ تمیز

چگونه بک‌آپ تمیز پیدا کنیم؟
بررسی تاریخ بک‌آپ‌ها:
├─ بک‌آپ دیروز → احتمالاً آلوده
├─ بک‌آپ هفته پیش → بررسی کنید
├─ بک‌آپ ماه پیش → احتمال بالای تمیز بودن
└─ بک‌آپ 3 ماه پیش → مطمئناً تمیز (اما قدیمی)
📝 فرآیند بازیابی امن:
  • دانلود بک‌آپ تمیز
  • اسکن آن با آنتی‌ویروس
  • حذف کامل فایل‌های فعلی سایت
  • آپلود بک‌آپ تمیز
  • import دیتابیس تمیز
  • آپدیت فوری CMS و افزونه‌ها
⚠️ هشدار: اگر بک‌آپ تمیز ندارید، باید نصب جدید CMS انجام دهید!

تکنیک 6: اسکن عمیق با ابزارهای تخصصی

ابزارهای اسکن پیشنهادی:
ابزار نوع مناسب برای
Wordfence افزونه وردپرس اسکن و پاک‌سازی خودکار
Sucuri SiteCheck آنلاین بررسی blacklist و malware
ClamAV سرور اسکن کل فایل‌های سرور
AI-Bolit اسکریپت PHP یافتن backdoor های مخفی

تکنیک 7: بررسی لاگ‌های سرور و یافتن نقطه نفوذ

لاگ‌های حیاتی:
◀️ Access Log (لاگ دسترسی):
grep "POST" /var/log/apache2/access.log | grep -i "wp-login\|admin"
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -rn | head -20
◀️ Error Log (لاگ خطا):
tail -500 /var/log/apache2/error.log | grep -i "fatal\|warning"
◀️ FTP Log:
cat /var/log/proftpd/access.log | tail -100
📌 نکات کلیدی در لاگ:
درخواست‌های POST مکرر به فایل‌های خاص
آپلود فایل‌های PHP مشکوک
دسترسی‌های ناگهانی از IP های خارجی

تکنیک 8: حذف Backdoor ها و Web Shell ها

💡 Backdoor چیست؟
فایل‌های مخفی که هکر برای دسترسی مجدد جایگذاری می‌کند.
⚠ مناطق پرخطر ⚠
├─ /wp-content/uploads/ (فایل‌های PHP)
├─ /wp-includes/ (فایل‌های اضافه شده)
├─ /wp-content/themes/[theme]/includes/
├─ /images/ یا /tmp/ (دایرکتوری‌های عمومی)
└─ فایل‌های با نام‌های معمولی مثل “index.php.bak”
👇 دستورات یافتن Backdoor:
find /home/user/public_html/wp-content/uploads -name "*.php"
find /home/user/public_html -type f -mtime -7 -name "*.php"
grep -r "eval(base64_decode" /home/user/public_html/
grep -r "system(" /home/user/public_html/
grep -r "exec(" /home/user/public_html/
حذف امن:
cat suspicious_file.php
rm suspicious_file.php

فاز سوم: تقویت امنیت دائمی و پیشگیری (تکنیک 9-12)

پاک‌سازی کافی نیست؛ باید امنیت را تقویت کنید.

تکنیک 9: به‌روزرسانی کامل CMS، قالب و افزونه‌ها

چک‌لیست به‌روزرسانی:
  • وردپرس:

1. بک‌آپ کامل قبل از آپدیت
2. آپدیت هسته وردپرس به آخرین نسخه
3. آپدیت تمام افزونه‌ها (حذف افزونه‌های غیرفعال)
4. آپدیت قالب (اگر قالب Premium است، از سایت اصلی دانلود کنید)
5. آپدیت PHP به نسخه بالاتر

◀️ حذف افزونه‌ها و قالب‌های غیرضروری:
  • هر افزونه = یک نقطه ورود احتمالی. فقط آنچه واقعاً نیاز دارید نگه دارید.

تکنیک 10: نصب فایروال وب اپلیکیشن (WAF)

گزینه‌های WAF:
سرویس نوع قیمت توصیه
Cloudflare Cloud-based رایگان تا $200/ماه بهترین برای همه ⭐
Sucuri Cloud-based $199/سال عالی برای وردپرس
Wordfence Plugin رایگان/$99/سال مناسب سایت‌های کوچک
📝 پیکربندی Cloudflare (توصیه شده):
1. ثبت‌نام در Cloudflare.com
2. اضافه کردن دامنه
3. تغییر Nameserver به Cloudflare
4. فعال کردن:
├─ SSL/TLS (حداقل Flexible)
├─ Firewall Rules
├─ DDoS Protection
└─ Bot Fight Mode
5. قوانین فایروال سفارشی:
– Block کشورهای پرخطر
– محدود کردن تعداد درخواست به wp-login

تکنیک 11: تنظیم صحیح مجوزهای فایل‌ها (File Permissions)

مجوزهای استاندارد امنیتی:
find /home/user/public_html -type d -exec chmod 755 {} \;
find /home/user/public_html -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
echo "php_flag engine off" > /wp-content/uploads/.htaccess
معنی اعداد:
  • 755 = rwxr-xr-x (مالک می‌تواند بنویسد، دیگران فقط خواندن)
  • 644 = rw-r–r– (مالک می‌تواند بنویسد، دیگران فقط خواندن)
  • 600 = rw——- (فقط مالک دسترسی دارد)
⚠️ هرگز 777 استفاده نکنید! این یعنی همه می‌توانند فایل را تغییر دهند.

تکنیک 12: راه‌اندازی مانیتورینگ و هشدار خودکار

ابزارهای مانیتورینگ:
◀️ Uptime Robot (رایگان):
  • بررسی در دسترس بودن سایت هر 5 دقیقه
  • هشدار ایمیل/SMS در صورت Down شدن
◀️ Wordfence Alerts:
  • هشدار برای ورود ناموفق
  • هشدار برای تغییرات فایل
  • هشدار برای افزونه‌های آسیب‌پذیر
◀️ Google Search Console:
  • هشدار Security Issues
  • هشدار Manual Actions
  • مانیتور وضعیت Index
تنظیم هشدارهای سفارشی:

ایمیل فوری برای:
✅ ورود با رمز اشتباه بیش از 5 بار
✅ تغییر فایل‌های هسته (Core Files)
✅ فایل جدید در دایرکتوری /uploads/
✅ مصرف CPU بالای 80% برای بیش از 10 دقیقه

چک‌لیست کامل بازیابی سایت هک شده

چک‌لیست 24 ساعت اول:
✅ آفلاین کردن سایت (Maintenance Mode)
✅ تغییر تمام رمزهای عبور (هاستینگ، FTP، DB، Admin)
✅ بک‌آپ فوری وضعیت فعلی
✅ بررسی و حذف کاربران مشکوک
✅ غیرفعال کردن موقت افزونه‌ها

✅ بازیابی از بک‌آپ تمیز (اگر دارید)
✅ اسکن کامل با Wordfence یا Sucuri
✅ بررسی لاگ‌های سرور
✅ حذف Backdoor ها و فایل‌های مخرب
✅ حذف کدهای مخرب از دیتابیس

✅ آپدیت CMS، قالب و افزونه‌ها
✅ نصب WAF (Cloudflare)
✅ تنظیم مجوزهای صحیح فایل‌ها
✅ فعال‌سازی SSL و HTTPS
✅ راه‌اندازی مانیتورینگ

اطلاع به گوگل و بازیابی SEO

بعد از پاک‌سازی کامل، باید به گوگل اطلاع دهید:
مراحل در Google Search Console:
1. ورود به Search Console
2. Security & Manual Actions → Security Issues
3. کلیک روی “Request Review”
4. توضیح اقدامات انجام شده:
– پاک‌سازی کامل malware
– آپدیت تمام نرم‌افزارها
– تقویت امنیت
– نصب فایروال
5. ارسال درخواست
6. معمولاً 3-7 روز طول می‌کشد
📌 مهم: تا زمانی که گوگل بررسی نکند، سایت شما با برچسب “خطرناک” نمایش می‌یابد.

نتیجه‌گیری: 12 تکنیک اصلی برای وب‌سایت هک شده

نجات سایت هک شده یک فرآیند سه مرحله‌ای است که نیازمند دقت، سرعت و صبر است. با پیروی از 12 تکنیک ضروری که در این راهنما آموختیم – از مهار فوری آسیب و تغییر رمزها، تا پاک‌سازی کامل با اسکنرهای تخصصی و بازیابی از بک‌آپ، و در نهایت تقویت امنیت با WAF و مانیتورینگ – می‌توانید کنترل کامل سایت خود را بازیابی کنید و از حملات آینده محافظت شوید.
نکته کلیدی این است که پاک‌سازی تنها نیمی از کار است؛ بدون تقویت امنیت، سایت شما ظرف چند هفته دوباره هدف قرار می‌گیرد. آمار 2024-2025 نشان می‌دهد که سایت‌هایی که بعد از رفع هک وردپرس، فایروال نصب کرده‌اند و به‌روزرسانی‌های خودکار را فعال کرده‌اند، 95% کمتر دچار حمله مجدد شده‌اند. بنابراین همیشه پیشگیری را بر درمان ترجیح دهید: رمزهای قوی، آپدیت منظم، بک‌آپ روزانه و مانیتورینگ فعال.
اگر در موقعیت بحرانی قرار دارید و نیاز به کمک فوری دارید، تیم امنیت وب‌داده 24/7 آماده خدمت‌رسانی است. در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید. امیدوارم این چک‌لیست بازیابی هک از بلاگ وب‌داده برای شما مفید بوده باشد و بتوانید سایت خود را سریعاً نجات دهید. موفق باشید! 🛡️

سوالات متداول از 12 تکنیک ضروری برای نجات وب‌سایت هک شده

1- چگونه بفهمم سایتم واقعاً هک شده یا فقط مشکل فنی دارد؟

برای تشخیص قطعی:

  1. سایت را در https://sitecheck.sucuri.net بررسی کنید
  2. Google Search Console را چک کنید (بخش Security Issues)
  3. لاگ‌های سرور را بررسی کنید
  4. فایل‌های اخیراً تغییر یافته را پیدا کنید
اگر ریدایرکت، محتوای اسپم یا هشدار گوگل دارید، 99% مطمئن باشید هک شده‌اید.
نرسی مزداب
نرسی مزداب

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

مقاله‌ها: 42
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *