چگونه بدافزار را از سایت وردپرس حذف کنیم؟
آموزش کامل و گامبهگام حذف بدافزار و افزایش امنیت سایت وردپرس

وردپرس، بهترین سیستم مدیریت محتوا (CMS) برای هر کسی است که میخواهد وبسایت خود را ایجاد و مدیریت کند. این سیستم متنباز، کاربرپسند و همهکاره است؛ چه مبتدی باشید و چه حرفهای، کار با وردپرس را ساده و لذتبخش خواهید یافت.
اما محبوبیت زیاد، یک نقطه ضعف هم دارد. وردپرس به هدفی جذاب برای حملات سایبری، بهویژه بدافزارها تبدیل شده است.
بدافزار (Malware) یک نرمافزار مخرب است که هکرها آن را میسازند تا به طور مخفیانه وارد شبکه کامپیوتری شما شوند و دادهها یا منابع شما را بدزدند یا آسیب بزنند. این نرمافزار میتواند عملکرد، اعتبار و امنیت وبسایت شما را نابود کند.
به همین دلیل باید بدانید که چگونه به محض شناسایی، بدافزارها را از سایت وردپرسی خود حذف کنید. در این مقاله، به شما نشان میدهیم که چگونه این کار را به شیوهای ساده انجام دهید.
۹ گام برای حذف بدافزار از سایت وردپرس
۱. اسکن سایت وردپرسی خود
۲. تهیه پشتیبان (بکاپ) از سایت و پایگاه داده وردپرس
۳. حذف تمام فایلها از پوشه public_html
۴. نصب مجدد وردپرس و بهروزرسانی آن
۵. تغییر همه رمزهای عبور
۶. نصب افزونههای امنیتی
۷. تعویض سرویس میزبانی (هاست)
۸. شناسایی و حذف دربهای پشتی (Backdoor) مخفی
۹. رفع هشدارهای امنیتی گوگل کنسول
آمادهاید؟
بیایید شروع کنیم!
چگونه بدافزار را در سایت وردپرس شناسایی کنیم؟
برای حذف مؤثر بدافزار از سایت وردپرس، ابتدا باید بدانید که چگونه بدافزار را شناسایی کنید. پس از تأیید وجود بدافزار میتوانید مراحل حذف را آغاز نمایید.
در اینجا چند راه برای شناسایی بدافزار سایت شما آورده شده است:
استفاده از افزونه امنیتی
شما میتوانید یک افزونه امنیتی در سایت وردپرسی خود نصب کنید تا سایت را برای یافتن بدافزار اسکن کند. برخی از نمونهها عبارتند از: Wordfence Security، Sucuri Security و MalCare. این افزونهها به دنبال الگوهای بدافزاری و فایلهای غیرمعمول در سایت شما میگردند.
پایش تغییرات سایت
باید به طور منظم فایلها و پایگاه داده وردپرس خود را از نظر تغییراتی که خودتان ایجاد نکردهاید، بررسی کنید. میتوانید از طریق هاست یا نرمافزار FTP به فایلها دسترسی پیدا کنید. همچنین باید حسابهای کاربری را بررسی و حسابهای ناآشنا را حذف کنید.
مراقب فعالیتهای مشکوک باشید
باید لاگهای دسترسی سایت خود را برای نشانههایی از فعالیتهای مخرب مانند تلاشهای مکرر جهت ورود ناموفق یا درخواستهای عجیب و غیرعادی بررسی کنید. میتوانید از افزونهها یا پنل هاست برای مشاهده این لاگها استفاده کنید.
اسکن سایت به صورت آنلاین
میتوانید با ابزارهایی مثل VirusTotal و Quttera سایت خود را آنلاین اسکن کنید. این اسکنرها سایت شما را با پایگاه داده بدافزارهای شناخته شده مقایسه و هر کد مشکوکی را شناسایی میکنند.
۹ گام برای حذف بدافزار از سایت وردپرسی
وقتی بدافزار را شناسایی کردید، اولین کاری که باید انجام دهید، وحشت نیست…
نه، شوخی میکنیم!
شما فقط لازم است چند مرحله را دنبال کنید تا سایتتان خیلی زود دوباره راهاندازی شود.
۱. اسکن سایت وردپرس
هرگاه فعالیت مشکوکی در سایت مشاهده کردید، اولین کار اسکن سایت است. افزونههای متعددی برای این کار وجود دارند. یکی را انتخاب و اسکن را شروع کنید.
پس از اسکن، وضعیت سایت را خواهید دید و میتوانید تصمیم بگیرید که گام بعدی چیست.
۲. بکاپ گرفتن از سایت و پایگاه داده وردپرس
اکنون باید از تمام سایت وردپرسی و دیتابیس بکاپ بگیرید. برای این کار:
- وارد حساب کاربری هاست شوید و cPanel را باز کنید.
- به File Manager بروید، زیر پوشه public_html گزینه Select All را انتخاب کرده و همه فایلها را فشرده (Compress) کنید.
- نوع فشردهسازی را روی (Zip Archive) قرار دهید و دکمه Compress File را بزنید.
- تمام فایلها ظرف یک دقیقه به صورت یک فایل Zip آماده دانلود خواهد شد. فایل را انتخاب کرده و با کلیک راست آن را دانلود نمایید.
- حالا باید از دیتابیس سایت هم بکاپ بگیرید. برای این کار به phpMyAdmin بروید، دیتابیس مدنظر را انتخاب و آن را دانلود کنید.
یادآوری: باید بکاپ اینها را نگه دارید:
- فایل wp-config.php
- پوشه wp-content
- فایل .htaccess
- دیتابیس
۳. حذف تمام فایلها از پوشه public_html
پس از بررسی بکاپ سایت، همه فایلهای موجود در پوشه public_html را (در File Manager) به جز پوشههایی مثل cgi-bin ، wp-content و wp-config.php یا پوشههای سیستمی مرتبط با سرور حذف کنید. اگر وبسایت دیگری هم روی همان سرور دارید، همین کار را برای آن هم انجام دهید.
۴. نصب و بهروزرسانی مجدد وردپرس
۶۱ درصد از وبسایتهای وردپرسی به دلیل بهروزرسانی نبودن هک میشوند. بهروزرسانی CMS میتواند آسیبپذیریها را از بین ببرد.
برخی نکات که باید حتماً به آنها توجه کنید:
نسخه وردپرس: توصیه میشود آخرین نسخه وردپرس را نصب کنید. برای این کار به داشبورد سایت، بخش بهروزرسانی (Update) رفته و تازهترین نسخه را نصب نمایید.
نسخه PHP: بعد از بهروزرسانی قالب و افزونهها، نسخه PHP را هم آپدیت کنید تا امنیت سایت بالاتر برود.
قالبها و افزونههای وردپرس: فقط افزونهها و قالبهای لازم را دوباره نصب کنید و مراقب باشید نسخههای قدیمی را نصب نکنید. اگر افزونه یا قالب موردنظرتان بهروزرسانی نشده، از گزینه جایگزین استفاده کنید.
۵. تغییر تمامی رمزهای عبور
یکی دیگر از کارهای مهم، تغییر رمز تمام حسابهایی است که با سایت در ارتباطاند.
- رمز عبور همه کاربران دارای سطح مدیریت را تغییر دهید.
- رمز عبور پنل سرور را تغییر دهید.
- اطلاعات ورود به FTP را تغییر دهید، حتی اگر خیلی کم از آن استفاده میکنید.
- رمز عبور دیتابیس را تغییر دهید.
دو مورد آخر را میتوانید از طریق cPanel یا پنل مدیریتی هاست انجام دهید.
در cPanel، به بخش Database بروید، بعد روی MySQL Databases، سپس Current Users کلیک و گزینه تغییر رمز را انتخاب کنید. پس از تغییر، باید رمز جدید را در فایل wp-config.php بهروزرسانی کنید. برای این کار این کد را پس از <?PHP قرار دهید:
/** Database password */
define( 'DB_PASSWORD', 'password_here' );
۶. نصب افزونههای امنیتی
سایتهای وردپرسی برای محافظت در برابر بدافزار باید افزونههای امنیتی نصب کنند تا نقاط ضعف رایج مثل حملات SSRF (جعل درخواست سمت سرور) را شناسایی و برطرف نماید. این افزونهها میتوانند مدام درخواستهای جعلی و مشکوک را شناسایی و بلوکه کنند تا افراد مهاجم نتوانند از آسیبپذیریها سوءاستفاده کنند.
مقاله راهکارهای امن سازی وردپرس
۷. تغییر سرویس میزبانی
پس از طی کردن این مراحل، شاید وقت آن رسیده باشد که به فکر یک هاست جدید بیفتید. ابتدا از هاست فعلی خود پیگیری کنید؛ اگر مشکل را حل نکردند، انتخاب یک سرویسدهنده جدید با پشتیبانی بهتر و امنیت بالاتر را بررسی کنید.
۸. شناسایی و حذف دربهای پشتی مخفی
هکرها ممکن است backdoor یا درب پشتی را برای دسترسی دوباره به سایت در برخی فایلها قرار دهند. معمولاً این مسیرها در داخل فایلهایی با نام مشابه فایلهای وردپرس قرار میگیرد که در مسیر اشتباه قرار گرفتهاند.
باید پوشههای محبوب مانند wp-content/plugins، wp-content/uploads و wp-content/themes را بررسی و هر گونه درب پشتی مخفی را حذف کنید. هنگام بررسی این فایلها باید به دنبال توابع PHP زیر باشید:
- base64
- gzuncompress
- assert
- stripslashes
- move_uploaded_file
- str_rot13
- system
- preg_replace (با /e/)
- exec
- eval
برای شناسایی این توابع مخرب میتوانید از این دستورها در محیط سرور استفاده کنید:
find . -type f -name '*.php' | xargs egrep -i "(mail|fsockopen|pfsockopen|stream_socket_client|exec|system|passthru|eval|base64_decode) *("
برای شناسایی اینکه آیا فایلهای jpg شما کد PHP مخفی دارند:
find wp-content/uploads -type f -iname '*.jpg' | xargs grep -i php
و برای شناسایی وجود iframe مشکوک در فایلهای PHP:
find . -type f -name '*.php' | grep -i '<iframe'
۹. حذف هشدارهای امنیتی از کنسول گوگل
پس از تکمیل همه مراحل فوق، سایت شما باید عاری از هرگونه بدافزار باشد. حالا فقط کافی است سایت خود را با گوگل بازخوانی کنید.
به Google Search Console بروید، بخش Security & Manual Actions → Security issues را انتخاب کنید. گزینه “I have fixed these issues” را انتخاب کرده و درخواست بازبینی دهید تا گوگل سایت شما را بررسی و مجدداً ایندکس کند.
توجه داشته باشید پردازش توسط گوگل ممکن است چند روز طول بکشد.
محافظت از سایت وردپرسی در برابر حملات بدافزاری آینده
خب، حالا یاد گرفتید که چطور بدافزار سایت وردپرس را حذف کنید، اما این پایان کار نیست. اگر اقدامات احتیاطی را رعایت نکنید، بدافزار ممکن است دوباره به سراغ شما بیاید!
چگونه دوباره قربانی نشویم؟ این نکات را رعایت کنید:
- هسته وردپرس، افزونهها و قالبها را به طور منظم بهروزرسانی کنید تا امنیت سایت حفظ شود و باگها و آسیبپذیریها اصلاح گردد.
- از رمزهای عبور قوی و یکتا برای وردپرس، FTP و دیتابیس استفاده کنید.
- یک افزونه امنیتی نصب کنید تا سایت را اسکن، درخواستهای مشکوک را مسدود و سطح امنیت را افزایش دهد.
- از SSL/HTTPS برای رمزنگاری اطلاعات بین سایت و مرورگر بازدیدکنندگان بهره بگیرید.
- به طور منظم از سایت خود بکاپ تهیه کنید تا در صورت حمله یا مشکل بتوانید سایت را بازیابی کنید.
- بکاپ سایت و پایگاه داده را در مکان امنی نگه دارید.
- دسترسی کاربران و نقشها را محدود کنید تا امکان تغییرات غیرمجاز کاهش یابد.