نشانه‌ های هک شدن سایت وردپرسی + اقدامات فوری برای بازگردانی و ایمن‌سازی

هک شدن سایت وردپرسی

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

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

در این مقاله، ابتدا پروتکل اورژانسی ۳ مرحله‌ای برای مهار بحران را مرور می‌کنیم و سپس به بررسی تمامی نشانه‌های هک شدن وردپرس، روش‌های پاک‌سازی و چک‌لیست ایمن‌سازی کامل سایت می‌پردازیم.

پروتکل اورژانسی: قبل از هر کاری این ۳ قدم را بردارید!

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

۱. تهیه یک بک‌آپ کامل (حتی از فایل‌های آلوده)

شاید عجیب به نظر برسد که چرا باید از یک سایت هک‌شده پشتیبان بگیرید، اما این کار دو دلیل حیاتی دارد:

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

  • بررسی فایل‌های این بک‌آپ به متخصص امنیت کمک می‌کند تا دقیقاً زمان و نحوه ورود هکر را ردیابی کند.

نکته: بک‌آپ را هم از طریق کنترل‌پنل هاست (Cpanel یا DirectAdmin) از کلیه فایل‌ها (Public_html) و هم از دیتابیس (MySQL Database Export) تهیه کرده و روی رایانه شخصی خود ذخیره کنید.

۲. تغییر فوری تمام کلمات عبور و قطع دسترسی‌ها

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

  • کلمه عبور تمام حساب‌های کاربری با سطح دسترسی «مدیر» (Administrator) در وردپرس.

  • کلمه عبور کنترل‌پانل هاست (cPanel / DirectAdmin).

  • کلمه عبور حساب اصلی دیتابیس (از طریق بخش MySQL Databases یا فایل wp-config.php).

  • کلمه عبور اکانت‌های FTP و SSH.

سپس از مسیر پیشخوان وردپرس > کاربران، تمام جلسات فعال دیگر کاربران را پایان دهید (Log out of all other sessions).

۳. فعال‌سازی حالت «در دست تعمیر» (Maintenance Mode)

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

با فعال کردن حالت در دست تعمیر از طریق فایل .htaccess یا افزونه‌های مربوطه (اگر به پیشخوان دسترسی دارید)، دسترسی کاربران و موتورهای جستجو را موقتاً محدود کنید تا پاک‌سازی انجام شود.

۱۰ نشانه اصلی هک شدن سایت وردپرسی

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

نوع نشانه علامت مشخصه میزان خطرات و تأثیر
ظاهری هدایت ناگهانی (Redirect) به سایت‌های دیگر شدید (افت آنی ترافیک و اعتماد)
ظاهری هشدار قرمز گوگل در مرورگر (Deceptive site) شدید (مسدود شدن ورود کاربران)
ظاهری تغییر صفحه اصلی سایت (Defacement) متوسط تا شدید
فنـی نمایش عبارات ژاپنی/چینی در نتایج گوگل شدید (تخریب ساختار سئو)
فنـی عدم امکان ورود به پیشخوان وردپرس شدید (سلب دسترسی مدیر)
فنـی ایجاد کاربران مدیر (Admin) ناشناخته متوسط (امکان سوءاستفاده مداوم)
فنـی کندی شدید، خرابی قالب یا خطای ۵۰۰ متوسط (اشغال منابع سرور)
فنـی تغییر ناگهانی فایل‌های .htaccess یا wp-config.php بسیار شدید
فنـی ارسال ایمیل‌های اسپم انبوه از هاست شما شدید (بلک‌لیست شدن IP سرور)
فنـی افت ناگهانی و غیرعادی ورودی از گوگل متوسط تا شدید

۱. هدایت ناگهانی کاربران به سایت‌های دیگر (Malicious Redirects)

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

۲. نمایش هشدار قرمز رنگ گوگل (Deceptive site ahead)

اگر گوگل کدهای مخرب یا بدافزارها را در سایت شما شناسایی کند، بلافاصله آن را در فهرست سرخ (Blacklist) قرار می‌دهد. در این حالت، کاربران هنگام ورود به سایت با صفحه قرمز رنگی با عنوان “The site ahead contains harmful programs” یا “Deceptive site ahead” مواجه می‌شوند.

۳. تغییر صفحه اصلی سایت (Defacement)

در این نوع نفوذ که بیشتر توسط هکرهای تازه‌کار انجام می‌شود، ظاهر صفحه اصلی سایت تغییر کرده و پیام، لوگو یا تصویر خاصی از سوی هکر (مثلاً Hacked by X) نمایش داده می‌شود.

۴. هک ژاپنی یا اسپم کلمات کلیدی در گوگل (Japanese SEO Hack)

اگر در وبمستر توولز یا با جستجوی عبارت site:yoursite.com در گوگل، تعداد زیادی صفحه با عناوین و عبارات ژاپنی، چینی یا فروش محصولات تقلبی دیدید، سایت شما قربانی هک SEO شده است. در این حالت، هکرها هزاران صفحه اسپم روی سایت شما می‌سازند تا از اعتبار سئوی شما سوءاستفاده کنند.

۵. عدم امکان ورود به پیشخوان وردپرس

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

۶. وجود کاربران جدید با سطح دسترسی مدیر (Administrator)

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

۷. تغییر یا ایجاد فایل‌های مشکوک در هاست

اگر در ریشه هاست (public_html) یا پوشه‌هایی مانند wp-includes و wp-content/uploads فایل‌هایی با اسامی عجیب (مانند ver.php ، alfa.php یا فایل‌های پسوند .ico که حاوی کدهای PHP هستند) دیدید، سایت شما آلوده شده است.

راهنمای گام‌به‌گام پاک‌سازی و بازگردانی سایت هک شده

پس از مهار اولیه بحران، وقت پاک‌سازی اساسی سایت است. این مسیر را قدم به قدم دنبال کنید:

قدم اول: جایگزینی فایل‌های هسته وردپرس (WordPress Core)

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

  1. آخرین نسخه وردپرس را از وب‌سایت رسمی WordPress.org دانلود کرده و فایل ZIP را استخراج کنید.

  2. پوشه wp-content و فایل wp-config-sample.php را از فایل‌های دانلودشده حذف کنید.

  3. وارد هاست خود شوید و تمامی پوشه‌ها و فایل‌های اصلی (به جز پوشه wp-content و فایل wp-config.php) را پاک کنید.

  4. فایل‌های جدید دانلود شده را در هاست آپلود و جایگزین کنید.

قدم دوم: بررسی و پاک‌سازی پوشه wp-content

پوشه wp-content محل نگهداری تصاویر، قالب‌ها و افزونه‌های شماست و بیشترین میزان آلودگی معمولاً در این بخش رخ می‌دهد.

  • پوشه uploads: وارد این پوشه شوید. هیچ فایل با پسوند .php یا .js نباید در این پوشه و زیرپوشه‌های آن وجود داشته باشد. تمام فایل‌های PHP موجود در uploads را حذف کنید.

  • افزونه‌ها (Plugins): اسامی افزونه‌های فعلی خود را یادداشت کنید. پوشه plugins را کاملاً پاک کرده و افزونه‌ها را مجدداً از مخزن رسمی وردپرس یا منابع معتبر دانلود و نصب کنید. هرگز از افزونه‌های نول‌شده (Nulled) یا رایگان‌شده در سایت‌های غیرمعتبر استفاده نکنید.

  • قالب‌ها (Themes): کدهای قالب فعال خود را بررسی کنید یا در صورت امکان، نسخه پشتیبان و دست‌نخورده قالب را مجدداً جایگزین کنید.

قدم سوم: بازسازی فایل‌های .htaccess و wp-config.php

فایل .htaccess را در هاست پاک کرده و یک فایل جدید با کدهای پیش‌فرض وردپرس بسازید:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

سپس فایل wp-config.php را باز کرده و خطوط مشکوکی که در ابتدای فایل (قبل از <?php) یا انتهای آن اضافه شده‌اند را پاک کنید. همچنین کلیدهای امنیتی (Security Salts) را از سایت رسمی وردپرس دریافت کرده و در این فایل جایگزین کنید تا تمامی کوکی‌های فعال کاربران منقضی شوند.

قدم چهارم: پاک‌سازی دیتابیس (Database Cleanup)

وارد ابزار phpMyAdmin در هاست شوید:

  1. جدول wp_users را بررسی کنید و تمام کاربران مشکوکی که خودتان نساخته‌اید را حذف کنید.

  2. جدول wp_usermeta را بررسی کرده و دسترسی‌های به‌جامانده از کاربران حذف‌شده را پاک کنید.

  3. با ابزارهایی مانند افزونه Wordfence Security یا جستجو در دیتابیس، کدهای تزریق‌شده مانند <script> یا iframe‌های مشکوک را در جدول wp_posts پیدا و حذف کنید.

چک‌لیست کامل ایمن‌سازی وردپرس (جلوگیری از نفوذ مجدد)

پاک‌سازی سایت تنها نیمی از مسیر است؛ اگر روزنه‌های نفوذ را نبندید، سایت شما ظرف چند روز آینده دوباره هک خواهد شد. چک‌لیست زیر را برای ایمن‌سازی کامل اجرا کنید:

  • به‌روزرسانی همه‌چیز: هسته وردپرس، تمامی افزونه‌ها و قالب‌ها را به آخرین نسخه منتشرشده ارتقا دهید.

  • حذف افزونه‌ها و قالب‌های بلااستفاده: هر قالب یا افزونه‌ای که فعال نیست را به طور کامل پاک کنید (تنها غیرفعال‌سازی کافی نیست).

  • تغییر آدرس ورود به پیشخوان: آدرس ورود پیش‌فرض (wp-admin یا wp-login.php) را با استفاده از افزونه‌های امنیتی تغییر دهید.

  • فعال‌سازی ورود دو مرحله‌ای (2FA): برای تمامی حساب‌های مدیر، ورود دو مرحله‌ای با ابزارهایی مانند Google Authenticator را اجباری کنید.

  • محدودسازی تعداد دفعات ورود ناموفق: جهت جلوگیری از حملات Brute Force، تعداد تلاش‌های ناموفق برای ورود را محدود کنید.

  • تغییر پیش‌وند جداول دیتابیس: در صورت امکان، پیش‌وند پیش‌فرض جداول دیتابیس (_wp) را به یک عبارت تصادفی تغییر دهید.

  • غیرفعال‌سازی ویرایشگر فایل در وردپرس: با اضافه کردن کد زیر به فایل wp-config.php دسترسی به ویرایشگر کد از داخل پیشخوان را ببندید:

    define( 'DISALLOW_FILE_EDIT', true );
    
  • تنظیم سطح دسترسی فایل‌ها (File Permissions): مطمئن شوید دسترسی پوشه‌ها روی 755 و دسترسی فایل‌ها روی 644 تنظیم شده باشد. دسترسی فایل wp-config.php باید روی 600 یا 640 باشد.

  • نصب فایروال و افزونه امنیتی معتبر: از افزونه‌های تخصصی امنیتی مانند Wordfence یا iThemes Security برای پایش مداوم سایت استفاده کنید.

پس از پاک‌سازی: چگونه اعتماد گوگل را دوباره جلب کنیم؟

اگر سایت شما به دلیل هک شدن توسط گوگل جریمه شده یا با هشدار قرمز مواجه شده است، پس از اطمینان کامل از پاک‌سازی مراحل زیر را انجام دهید:

  1. وارد حساب Google Search Console سایت خود شوید.

  2. از منوی سمت چپ به بخش Security & Manual Actions و سپس Security issues بروید.

  3. لیستی از کدهای مخرب یا صفحات آلوده‌ای که گوگل شناسایی کرده مشاهده می‌کنید.

  4. روی گزینه Request Review (درخواست بررسی مجدد) کلیک کنید.

  5. در باکس توضیحات، شفاف و دقیق بنویسید که چه اقداماتی برای پاک‌سازی کدهای مخرب، تغییر رمزها و ایمن‌سازی سایت انجام داده‌اید.

بررسی گوگل معمولاً بین چند ساعت تا چند روز زمان می‌برد. در صورت تأیید، هشدار قرمز رنگ برداشته شده و رتبه‌های سایت به مرور بازمی‌گردند.

چه زمانی باید از یک متخصص پشتیبانی و امنیت وردپرس کمک بگیریم؟

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

  • بدافزار در اعماق دیتابیس تزریق شده و با فایل‌های اصلی گره خورده است.

  • پس از چندین بار پاک‌سازی، سایت مجدداً در فواصل زمانی کوتاه هک می‌شود (وجود Backdoorهای مخفی).

  • به کنترل‌پانل هاست یا پیشخوان وردپرس دسترسی ندارید.

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

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