امنسازی و پاکسازی وردپرس و ووکامرس
پاکسازی سایت هکشده و امنیت وردپرس.
بدافزار را از فایلها و دیتابیس سایت وردپرسی شما پاک میکنیم، راهی را که هکر از آن آمده میبندیم و سایت را طوری امن میکنیم که دوباره آلوده نشود. اگر مطمئن نیستید سایت آلوده است، اول رایگان نگاه میکنیم.
- ۳ روزتحویل کار
- ۳۰ روزپشتیبانی رایگان بعد از تحویل
۲۵ میلیون۲۰ میلیونتومان با تخفیف، پرداخت بعد از انجام کار
- ۱۰۰ درصدرضایت مشتریها، تا به امروز
- بیش از ۱۶ سالسابقه
- بیش از ۳۵۰سایت بهینهشده
کارهایی که انجام میدهیم. ۱۲ کار، به زبان ساده.
- نسخهی پشتیبان، پیش از هر کاریاز فایلها و دیتابیس سایت، همانطور که هست، نسخه میگیریم؛ تا هیچ چیزی از دست نرود و بشود دید هکر از کجا آمده است.
- پاکسازی هستهی وردپرسفایلهای خود وردپرس با نسخهی رسمی همان نسخه مقایسه و جایگزین میشوند؛ هر فایلی که هکر اضافه کرده برداشته میشود.
- پاکسازی افزونهها و قالبهر افزونه و قالب با نسخهی تمیز خودش مقایسه میشود؛ افزونهی رهاشده یا بیاستفاده با همهی فایلهایش کنار میرود.
- پوشهی آپلودهافایلهای اجرایی که خودشان را عکس جا زدهاند پیدا و برداشته میشوند.
- پاکسازی دیتابیسکوئریها و اسکریپتهای تزریقشده، صفحههای اسپم و لینکهای پنهان؛ نوشتهها، محصولها و سفارشهای شما سر جایشان میمانند.
- بستن درهای پشتیفایلها، کاربرها و کارهای زمانبندیشدهای که هکر برای برگشتن گذاشته است.
- کاربرها و رمزهاکاربر ناشناس برداشته میشود؛ رمزها و کلیدهای ورود وردپرس نو میشوند تا هر کسی که هنوز وارد است بیرون بیفتد.
- بستن راه ورودوردپرس، افزونهها و قالب بهروز میشوند و راهی که هکر از آن آمده بود بسته میشود.
- امنسازیویرایشگر فایل پیشخوان بسته، دسترسی فایلها درست، کاربر دیتابیس با کمترین دسترسی، و ورود مدیر محدود و دو مرحلهای.
- هشدار گوگلاگر گوگل یا کروم هشدار گذاشتهاند، بعد از پاکسازی کامل درخواست بازبینی را با شرح کار میفرستیم.
- گزارش PDF پایان کارچه پیدا شد، کجا بود، چه برداشته شد و چه چیزی بسته شد؛ مکتوب و ماندنی.
- ۳۰ روز پشتیبانی رایگانبعد از تحویل، هر چیزی که به همین کار مربوط باشد بیهزینه بررسی و درست میشود.
فقط برای سایتهای وردپرسی و فروشگاههای ووکامرس.
سایت وردپرسی هک شده: چه کار میکنیم. یک کار، دو نیمه.
پاکسازی یعنی برداشتن هر چیزی که هکر در سایت گذاشته است: در فایلهای خود وردپرس، افزونهها، قالب و پوشهی آپلود؛ در دیتابیس؛ و در کاربرها.
امنسازی یعنی بستن راهی که از آن آمده بود و محکم کردن درهای دیگر. پاکسازی بی امنسازی نصف کار است: هکری که راهش باز مانده، برمیگردد. برای همین این دو در یک تسکاند.
امنسازی برای سایتی هم که هرگز هک نشده به کار میآید؛ تا بعدا هم نشود.
نشانههای هک شدن سایت وردپرس. هر کدام را که میبینید، تیک بزنید.
هشدارهای گوگل و کروم انگلیسیاند؛ همان جملهای را که روی صفحه میبینید، عینا اینجا نوشتهایم.
از رایجترین نشانههای کد تزریقشده است. بعضی بدافزارها فقط به بازدیدکنندهی گوشی یا کسی که از نتایج گوگل آمده نشان داده میشوند، تا صاحب سایت که مستقیم آن را باز میکند چیزی نبیند (Google Search Central).
گوگل این برچسب را وقتی میزند که ببیند صفحهها عوض شده یا صفحهی اسپم ساخته شده است. برچسب دیگرش «This site may harm your computer» برای بدافزار است. هر دو بعد از پاکسازی کامل و درخواست بازبینی برداشته میشوند.
یعنی گوگل روی سایت محتوای فریبنده دیده است. هکرها گاهی سایتهای سالم را میگیرند تا همین محتوا را از روی آنها پخش کنند (Google Search Central، ۲۰۲۵).
این همان «هک کلمهی کلیدی ژاپنی» است: هکر صفحههای تازه با متن خودکار میسازد تا در گوگل دیده شوند، و اغلب خودش را مالک سایت در Search Console هم میکند (web.dev).
ساخته شدن کاربر بیاجازه از نشانههای روشن هک است (WordPress.org). بعضی درهای پشتی اگر آن کاربر را پاک کنید، دوباره میسازندش (Sucuri، ۲۰۲۵)؛ برای همین پاک کردن کاربر بهتنهایی کافی نیست.
گزارش Security issues نوع آلودگی را میگوید: بدافزار، کد تزریقشده، محتوای تزریقشده یا صفحههای تازه. مالک ناشناس هم از نشانههای هک کلمهی کلیدی ژاپنی است (Google).
هاستها سایت آلوده را میبندند تا آلودگی به سایتهای دیگر همان سرور نرسد (WordPress.org؛ Sucuri). بعد از پاکسازی، شرح کار را به هاست میدهیم.
WordPress.org این را از نشانههای روشن هک میداند: چیزی از صفحه به مرورگر بازدیدکننده میرسد که نباید برسد.
اسپم سئو، یعنی لینک و متن پنهان، در ۴۲٫۲۲٪ سایتهای آلودهای بود که Sucuri در ۲۰۲۳ پاکسازی کرد. گاهی فقط ربات گوگل آن را میبیند و شما نه.
بعضی بدافزارها منابع زیادی از سرور میگیرند (Sucuri). کندی دلیلهای دیگری هم دارد؛ برای همین بهتنهایی نشانهی مطمئنی نیست.
وقتی از سرور برای فرستادن اسپم استفاده شود، IP آن در فهرست سیاه ایمیل میرود و ایمیلهای خود شما هم آسیب میبیند (WordPress.org).
گوگل این را از نشانههای هک میشمارد: صفحههایی به نام سایت شما برای کلمههای دیگران رتبه گرفتهاند (web.dev).
گاهی هیچ نشانهای نیست. برای همین، اول نگاه میکنیم.
در خیلی از پروژههایی که برای کار دیگری وارد سایت شدیم، آثار آلودگی بود؛ بی آنکه صاحب سایت چیزی دیده باشد.
در یکی از آنها، اسکریپتی روی سایت ساخته شده بود که دادههای سایت را لحظه به لحظه به جای دیگری میفرستاد. این کار بیش از دو سال ادامه داشت؛ فهرست مشتریها و خیلی چیزهای دیگر رفته بود و سایت در تمام این مدت عادی کار میکرد.
بیشتر هکهایی که دیدهایم برای بردن داده است، و بردن داده سروصدا ندارد. نگاه رایگان ما برای همین است: آنچه از بیرون پیدا نیست، در فایلها و دیتابیس پیداست.
بررسی رایگان: اول نگاه میکنیم، بعد میگوییم. تست امنیت سایت وردپرس، با چشم آدم.
- درخواستنشانی سایت، نام، راه ارتباط و هر توضیحی که دارید.
- یک روز نگاهداخل فایلها و دیتابیس؛ نه فقط صفحهای که سایت به بیرون نشان میدهد.
- گزارشچه پیدا شد، کجا، و چه کاری لازم دارد. رایگان، و بی تعهد سفارش.
اسکنرهای آنلاین فقط صفحهی بیرونی سایت را میبینند. آلودگی سمت سرور، مثل در پشتی در فایلهای PHP، از بیرون پیدا نیست (Sucuri، ۲۰۲۳). برای همین بررسی ما فوری نیست، ولی داخل سایت را میبیند.
بررسی رایگان سایت منبدافزار کجا پنهان میشود. روی هر بخش بزنید.
کد مخرب، فایل مخرب، در پشتی و وبشل: نامها فرق دارد، ولی جاها همینهاست. پاکسازی یعنی گشتن همهی این جاها، نه فقط آنجا که نشانه پیدا شد.
- public_html/فایلهای سایت
چه چیزی پنهان میشود: فایل تازهای با نامی شبیه فایلهای خود وردپرس، یا تکه کدی که به یک فایل اصلی اضافه شده است. نصب دوباره از پیشخوان فقط فایلهای موجود را رونویسی میکند؛ فایل تازهی هکر سر جایش میماند (WordPress.org).
ما چه میکنیم: هسته را با فهرست رسمی WordPress.org برای همان نسخه مقایسه میکنیم و پوشهها را با نسخهی تمیز جایگزین میکنیم؛ هر فایل اضافهای برداشته میشود.
چه چیزی پنهان میشود: کد مخرب در فایل واقعی یک افزونه، که نمیشود فایل را پاک کرد چون سایت به آن نیاز دارد؛ یا افزونهای که خودش را از فهرست افزونهها پنهان میکند (Patchstack، ۲۰۲۶؛ Sucuri، ۲۰۲۵).
ما چه میکنیم: هر افزونه با نسخهی تمیز خودش مقایسه یا از نو نصب میشود. افزونهی رهاشده یا بیاستفاده با همهی فایلهایش کنار میرود، نه فقط غیرفعال.
چه چیزی پنهان میشود: فایلهایی مثل header.php، footer.php و functions.php که روی همهی صفحهها اثر دارند و برای همین هدفاند (WordPress.org).
ما چه میکنیم: قالب فعال با نسخهی اصلیاش مقایسه میشود و تکههای تزریقشده برداشته میشوند؛ قالبهای بیاستفاده کنار میروند.
چه چیزی پنهان میشود: فایل PHP یا اسکریپتی که اسم عکس دارد؛ در پوشهای که فقط باید عکس و فایل داشته باشد (Sucuri).
ما چه میکنیم: هر فایل اجرایی در این پوشه پیدا و برداشته میشود.
چه چیزی پنهان میشود: افزونههایی که بی فعالسازی و خودکار بار میشوند و در فهرست عادی افزونهها دیده نمیشوند؛ جای ریدایرکت، وبشل و اسپم (Sucuri، ۲۰۲۵).
ما چه میکنیم: همهی فایلهای این پوشه یکییکی خوانده میشوند.
چه چیزی پنهان میشود: از رایجترین فایلهای دستخورده؛ ممکن است در چند پوشه باشد و ریدایرکت یا صفحههای اسپم را راه بیندازد (WordPress.org؛ web.dev).
ما چه میکنیم: همهی نسخههایش در همهی پوشهها بررسی و به حالت درست برگردانده میشود.
چه چیزی پنهان میشود: کلیدهای ورود وردپرس، و گاهی کد تزریقشده در خود همین فایل.
ما چه میکنیم: کلیدها نو میشوند تا هر کسی که هنوز وارد است بیرون بیفتد (WordPress.org)، و ویرایشگر فایل پیشخوان بسته میشود.
- databaseدیتابیس
چه چیزی پنهان میشود: اسکریپت تزریقشده در تنظیمها یا ابزارکها؛ مثلا اسکیمر کارتی که فقط در صفحهی پرداخت فعال میشود و چون در هیچ فایلی نیست، اسکنر فایل آن را نمیبیند (Sucuri، ۲۰۲۵).
ما چه میکنیم: جدولها را میگردیم و کوئریها و اسکریپتهای تزریقشده را برمیداریم؛ تنظیمهای سالم سر جایشان میمانند.
چه چیزی پنهان میشود: صفحهی اسپم ساختگی، و لینکهای پنهان لای نوشتههای خود شما.
ما چه میکنیم: صفحههای ساختگی پاک و لینکهای پنهان از نوشتهها برداشته میشوند؛ نوشتههای شما میمانند.
چه چیزی پنهان میشود: کاربر مدیری که نمیشناسید. در ۵۵٫۲٪ دیتابیسهای آلودهای که Sucuri در ۲۰۲۳ پاکسازی کرد، کاربر مدیر مخرب بود.
ما چه میکنیم: همهی کاربرها بررسی میشوند؛ کاربر ناشناس برداشته و رمز همهی کاربرها عوض میشود.
- serverبیرون از وردپرس
چه چیزی پنهان میشود: کاربر FTP یا دیتابیس که هکر ساخته است. اگر سایت پاک شود و این کاربر بماند، زود دوباره آلوده میشود (Sucuri).
ما چه میکنیم: این درها، تا جایی که دسترسیشان را دارید، بررسی و رمزهایشان عوض میشود.
چه چیزی پنهان میشود: کاری که هر چند وقت یک بار فایل پاکشده را دوباره میسازد. این را در پروژههایی که دیدهایم بارها پیدا کردهایم.
ما چه میکنیم: کارهای زمانبندیشدهی وردپرس و سرور خوانده میشوند و هر چیزی که جایش نیست برداشته میشود.
ویروسیاب هاست چیزی نشان نمیدهد؟ یک نشانی، دو چهره.
همان نشانیexample.ir/
بعضی خانوادههای بدافزار به ربات گوگل اسپم نشان میدهند، به بازدیدکننده ریدایرکت، و به صاحب سایت و اسکنرها صفحهی تمیز (Patchstack، ۲۰۲۶). بعضی هم اصلا در فایل نیستند و در دیتابیس میمانند، جایی که اسکنر فایل نگاه نمیکند (Sucuri، ۲۰۲۵).
در دو آزمونی که Patchstack در ۲۰۲۵ روی هاستها انجام داد، دفاعهای معمول هاست فقط ۱۲٪ و ۲۶٪ حملهها را بستند. تجربهی ما هم همین است: در بیشتر سایتهای آلودهای که دیدهایم، ویروسیاب هاست فایل آلوده را نشان نداده بود.
رفع هک وردپرس، قدم به قدم. ۱۰ ایستگاه، به همین ترتیب.
- نسخه از همان وضعپیش از هر تغییر، از سایت آلوده نسخه میگیریم.
- بیرون کردن همهرمزها و کلیدهای ورود نو میشوند؛ هیچ نشست بازی نمیماند.
- هستهفایلهای وردپرس با نسخهی رسمی مقایسه و جایگزین میشوند.
- افزونه، قالب، آپلودو .htaccess و mu-plugins، پوشه به پوشه.
- دیتابیستنظیمها، نوشتهها و کاربرها.
- درهای پشتیفایل، کاربر و کار زمانبندیشدهای که برای برگشتن مانده است.
- راه وروداز کجا آمد؟ همان راه بسته و همهچیز بهروز میشود.
- رمزها، دوبارهبعد از تمیز شدن، یک بار دیگر (WordPress.org).
- امنسازیقفلهایی که بخش بعد میگوید.
- گوگل و گزارشدرخواست بازبینی، اگر هشدار هست؛ و گزارش PDF.
ترتیب از راهنمای رسمی WordPress.org («FAQ My site was hacked») و راهنمای پاکسازی گوگل (web.dev). همهی این کارها روی سایت شما و با نسخهی پشتیبان در دست انجام میشود.
چرا سایت وردپرسی هک میشود، و چرا دوباره. عددها، با نام منبع و سال.
آسیبپذیریهای تازهی ۲۰۲۵ کجا بودند؟
از ۱۱٬۳۳۴ آسیبپذیری تازه، فقط ۶ مورد کماهمیت در خود وردپرس بود. حدود نیمی از آسیبپذیریهای پراثر در ۲۴ ساعت اول مورد حمله قرار گرفتند، و ۴۶٪ تا روز اعلام عمومی هنوز وصله نداشتند. (Patchstack، ۲۰۲۶، دادهی ۲۰۲۵)
- ۴۹٫۲٪
- سایتهای آلوده دستکم یک در پشتی داشتند؛ اگر فقط نشانه پاک شود، هکر از همان در برمیگردد.
- ۵۵٫۲٪
- دیتابیسهای آلوده یک کاربر مدیر مخرب داشتند.
Sucuri، دادهی سایتهایی که در ۲۰۲۳ پاکسازی کرد.
سایت دوباره آلوده میشود وقتی فقط نشانه پاک شده باشد. برای همین در این کار هر سه با هم انجام میشود: پاک کردن، بستن درهای پشتی، و بستن راهی که هکر از آن آمده بود.
امنسازی: بعد از پاکسازی چه میکنیم. افزایش امنیت وردپرس، در همین کار.
- ویرایشگر فایل پیشخوان بسته میشود: تا اگر روزی کسی به پیشخوان رسید، نتواند از همانجا کد بنویسد (Hardening WordPress).
- هر فایل فقط همان دسترسی را دارد که لازم است: پوشهها و فایلها با دسترسی درست، و wp-config.php فقطخواندنی.
- کاربر دیتابیس با کمترین دسترسی: وردپرس در کار روزانه فقط خواندن و نوشتن لازم دارد؛ دسترسی پاک کردن و ساختن جدول از آن گرفته میشود.
- در ورود مدیر محکم میشود: ورود دو مرحلهای برای مدیرها، محدود شدن تلاشهای پشت سر هم روی صفحهی ورود، و بسته شدن xmlrpc.php اگر سایت لازمش ندارد.
- بهروز، و بی افزونهی رهاشده: وردپرس، افزونهها و قالب بهروز میشوند؛ آنچه سالهاست بهروز نشده یا استفاده نمیشود کنار میرود (Wordfence، ۲۰۲۴).
- کاربرها مرتب میشوند: هر کسی فقط همان دسترسیای را دارد که برای کارش لازم است؛ مدیر فقط کسی که باید مدیر باشد.
اینها از توصیههای رسمی وردپرس (Hardening WordPress) است و همه را خودمان روی سایت شما انجام میدهیم.
امنیت ووکامرس: سفارشها، مشتریها و پرداخت.
فروشگاه هکشده فقط یک سایت آلوده نیست؛ دادهی مشتریها و صفحهی پرداخت هم در میان است.
Sucuri در دادهی ۲۰۲۳ خود، اسکیمر کارت را در ۳۷٫۵٪ سایتهایی که بدافزار فروشگاهی داشتند در فایل صفحهی پرداخت ووکامرس پیدا کرد. نمونهی دیگری که در ۲۰۲۵ گزارش کرد، اصلا در فایل نبود: در تنظیمهای دیتابیس، و فقط در صفحهی پرداخت فعال میشد.
در فروشگاه، صفحهی پرداخت، فایلهای ووکامرس و تنظیمهای دیتابیس جای اول نگاه ماست. سفارشها و مشتریها دست نمیخورند.
مخصوص وردپرس و ووکامرس.
این تسک برای سایتهای وردپرسی و فروشگاههای ووکامرس ساخته شده است: ابزارهایی که با آنها هسته و افزونهها را با نسخهی رسمی مقایسه میکنیم، جاهایی که میگردیم و قفلهایی که میگذاریم، همه برای وردپرس است. سایتهایی که با سیستم اختصاصی ساخته شدهاند در این تسک نیستند.
خدمات امنیت وردپرس: روز تحویل چه دست شماست. و ۳۰ روز بعد از آن.
- سایت تمیز و امنهمان سایت، با همان محتوا؛ بی کد و کاربر و فایلی که مال شما نیست.
- گزارش PDF پایان کارچه پیدا شد، کجا بود، از کجا آمده بود، چه برداشته شد و چه چیزی بسته شد.
- رمزهای تازهرمز همهی درها نو شده است و فقط دست شماست.
- ۳۰ روز پشتیبانی رایگانهر چیزی که به همین کار مربوط باشد، بیهزینه بررسی و درست میشود.
۲۰ میلیون تومان بهجای ۲۵ میلیون، یک بار؛ پرداخت بعد از انجام کار و رضایت ۱۰۰ درصد شما.
کار چند روز طول میکشد؟ ۳ روز، از روزی که دسترسی را میدهید.
- بعد از سفارشسفارش را تأیید میکنیم و دسترسیها را در پنل خودتان میگذارید.
- روز اولنسخهی پشتیبان، بیرون کردن همه، و پاکسازی فایلها: هسته، افزونهها، قالب، آپلودها.
- روز دومدیتابیس، کاربرها، درهای پشتی و کارهای زمانبندیشده؛ و پیدا کردن راهی که هکر از آن آمده بود.
- روز سومامنسازی، رمزهای تازه، درخواست بازبینی گوگل اگر هشدار هست، و گزارش PDF.
عجله دارید؟ هنگام سفارش «عجله دارم» را بزنید: کار بهجای ۳ روز در ۱ روز تحویل میشود. هزینهی کار فوری دو برابر است، چون همان کار را جلوتر از نوبت و با نفرات بیشتر انجام میدهیم.
بعد از تحویل، ۳۰ روز پشتیبانی رایگان دارید: هر چیزی که به همین کار مربوط باشد، بدون هزینه درست میشود.
سوالهایی که میپرسند.
- از کجا بفهمم سایت وردپرسیام هک شده است؟
- نشانههای رایج: سایت به سایت دیگری میرود (گاهی فقط روی گوشی)، گوگل زیر نام سایت «This site may be hacked» نوشته یا کروم «Deceptive site ahead» نشان میدهد، صفحههای ژاپنی یا چینی به نام سایت در گوگل آمده، مدیر ناشناسی در وردپرس هست، یا هاست سایت را بسته است. ولی بعضی آلودگیها هیچ نشانهای ندارند و فقط با نگاه به داخل فایلها و دیتابیس پیدا میشوند؛ بررسی رایگان برای همین است.
- بررسی رایگان دقیقا چیست و چه چیزی تحویل میدهید؟
- درخواست را در صفحهی بررسی رایگان ثبت میکنید: نشانی سایت، نام، راه ارتباط و هر توضیحی که دارید. تیم ما در یک روز داخل سایت را نگاه میکند و در یک گزارش میگوید آلودگی یا راه نفوذی هست یا نه، کجاست و چه کاری لازم دارد. رایگان است و تعهدی برای سفارش نمیآورد.
- بررسی رایگان با اسکنرهای آنلاین چه فرقی دارد؟
- اسکنر آنلاین فقط صفحهای را میبیند که سایت به بیرون نشان میدهد. آلودگی سمت سرور، مثل در پشتی در فایلهای PHP، از بیرون پیدا نیست (Sucuri، ۲۰۲۳)؛ بدافزار دیتابیس هم از چشم اسکنر فایل پنهان میماند. در بررسی رایگان، آدم داخل فایلها و دیتابیس را نگاه میکند.
- پاکسازی سایت هکشده چقدر طول میکشد؟
- کل کار، پاکسازی و امنسازی، ۳ روز از روزی است که دسترسی را میدهید؛ اگر عجله دارید، با «عجله دارم» هنگام سفارش در ۱ روز. برداشته شدن هشدار گوگل جداست: گوگل میگوید بیشتر بازبینیها چند روز تا چند هفته طول میکشد.
- هزینهی پاکسازی و امنسازی وردپرس چقدر است و کی پرداخت میکنم؟
- ۲۰ میلیون تومان، قیمت ثابت و یک بار (پیش از تخفیف ۲۵ میلیون تومان). سفارش را بی پرداخت ثبت میکنید؛ تیم ما کار را با بالاترین کیفیت ممکن انجام میدهد و رضایت ۱۰۰ درصد شما را میگیرد؛ بعد پرداخت میکنید. ۳۰ روز پشتیبانی رایگان و گزارش PDF پایان کار هم در همین قیمت است.
- در پاکسازی، اطلاعات و محتوای سایت پاک نمیشود؟
- نه. پیش از هر کاری از همهی فایلها و دیتابیس نسخهی پشتیبان میگیریم. فقط تکههای مخرب برداشته میشوند؛ نوشتهها، محصولها، سفارشها و کاربرهای واقعی سر جایشان میمانند.
- سایت من به سایت دیگری ریدایرکت میشود؛ این هم هک است؟
- اگر خودتان ریدایرکتی نگذاشتهاید، به احتمال زیاد بله. ریدایرکت هکشده اغلب با دست بردن در .htaccess یا کد تزریقشده است، و گاهی فقط به بازدیدکنندهی گوشی یا کسی که از گوگل آمده نشان داده میشود؛ برای همین ممکن است خودتان آن را نبینید (Google).
- گوگل نوشته «Deceptive site ahead» یا «This site may be hacked»؛ هشدار کی برداشته میشود؟
- بعد از پاکسازی کامل و بستن راه ورود، در گزارش Security issues در Search Console درخواست بازبینی فرستاده میشود. به گفتهی گوگل، بازبینی هک اسپم تا چند هفته، بدافزار چند روز و فیشینگ حدود یک روز طول میکشد؛ اگر سایت تمیز شناخته شود، هشدار ظرف ۷۲ ساعت برداشته میشود. درخواست پیش از تمیز شدن کامل، هشدار را طولانیتر میکند؛ برای همین آن را آخر کار میفرستیم.
- در نتایج گوگل صفحههای ژاپنی یا چینی به نام سایت من آمده؛ چه کنم؟
- این «هک کلمهی کلیدی ژاپنی» است. در پاکسازی، فایلها و قانونهایی که این صفحهها را میسازند برداشته میشوند و مالک ناشناس از Search Console بیرون میرود. صفحههای اسپم وقتی پاک شوند، با گذر زمان از نتایج گوگل هم بیرون میروند (web.dev).
- افزونهی امنیتی مثل Wordfence کافی نیست؟
- افزونهی امنیتی ابزار خوبی است و اگر روی سایت دارید، میماند. ولی پاکسازی جای دیگری است: بدافزار گاهی در دیتابیس است و در فایل نیست، و بعضی خانوادهها برای صاحب سایت و اسکنرها چهرهی تمیز نشان میدهند (Patchstack، ۲۰۲۶). برای همین در این کار، آدم فایلها و دیتابیس را نگاه میکند.
- اگر بعد از پاکسازی دوباره آلوده شد چه میشود؟
- برای همین کار دو نیمه دارد: پاکسازی، و بستن راهی که هکر از آن آمده بود. ۳۰ روز بعد از تحویل هم پشتیبانی رایگان دارید؛ هر چیزی که به همین کار مربوط باشد، بیهزینه بررسی و درست میشود.
- آیا وردپرس امن نیست؟
- خود وردپرس امن است. Patchstack در دادهی ۲۰۲۵ از ۱۱٬۳۳۴ آسیبپذیری تازه فقط ۶ مورد کماهمیت را در هستهی وردپرس دید؛ ۹۱٪ در افزونهها و ۹٪ در قالبها بود. بیشتر هکها از افزونه و قالب قدیمی، رمز لو رفته و حساب هاست است، نه از خود وردپرس.
- فروشگاه ووکامرسی دارم؛ اطلاعات مشتریها و پرداختها چه میشود؟
- در فروشگاه، صفحهی پرداخت و دادهی مشتریها جای اول نگاه ما هستند: فایلهای صفحهی پرداخت، تنظیمها و ابزارکهای دیتابیس، و هر اسکریپتی که فقط در همان صفحه فعال میشود. سفارشها و مشتریها دست نمیخورند.
- برای کار به چه دسترسیهایی نیاز دارید و آنها را چطور نگه میدارید؟
- دسترسی پیشخوان وردپرس، هاست یا سرور (پنل یا SSH) و، اگر هشدار گوگل هست، Search Console. دسترسی فقط بعد از تأیید سفارش و در پنل خودتان گرفته میشود، رمزنگاریشده نگه داشته میشود، هیچوقت دوباره نمایش داده نمیشود و هر بار که تیم آن را بخواند ثبت میشود.
- افزونه یا قالب نال (کرکشده) هم باعث هک میشود؟
- میتواند. گوگل میگوید یکی از ترفندهای رایج، گذاشتن کد مخرب در نسخهی رایگانِ افزونه یا قالب پولی است. Wordfence در گزارش ۲۰۲۴ نوشته که نال دیگر منشأ اصلی آلودگی نیست؛ ولی اگر روی سایت هست، در پاکسازی با نسخهی اصلی مقایسه میشود.
سایتتان را تمیز و امن تحویل بگیرید.
- قیمت ثابت و مکتوب؛ پرداخت بعد از انجام کار و رضایت ۱۰۰ درصد شما.
- پیش از هر کاری، نسخهی پشتیبان کامل از فایلها و دیتابیس.
- دسترسی فقط بعد از تأیید سفارش گرفته و رمزنگاریشده نگه داشته میشود.
- ۳۰ روز پشتیبانی رایگان بعد از تحویل، و گزارش PDF پایان کار.
بیشتر
سایت وردپرسی هک شده: از نشانهها تا پاکسازی و جلوگیری از هک دوباره
سایت وردپرسی هک شده یعنی کسی بی اجازهی شما در سایتتان کاری میکند: صفحه میسازد، لینک میگذارد، بازدیدکننده را به جای دیگری میفرستد یا دادهها را بیرون میبرد. خبر خوب این است که هک وردپرس بیماری ناشناختهای نیست؛ نشانههایش شناختهشده است، جاهایی که پنهان میشود معلوم است و راه بستنش هم. در این نوشته به ترتیب میگوییم هک چه شکلهایی دارد، از کجا بفهمید سایتتان آلوده است، بدافزار کجا مینشیند و چرا از چشم شما و اسکنر هاست پنهان میماند، اول چه کنید، پاکسازی و امنسازی درست چه چیزهایی دارد و چطور سایت دوباره آلوده نشود.
سایت هک شده یعنی چه؛ یک مثال ساده
فرض کنید مغازهای دارید و کسی یک کلید اضافه از در پشتی ساخته است. شبها میآید، چیزی برمیدارد یا در ویترین شما آگهی خودش را میگذارد و صبح میرود. شما صبح در را باز میکنید و همه چیز عادی به نظر میرسد. هک سایت بیشتر وقتها همین شکل است: سایت باز میشود، سفارش میآید، ظاهر عوض نشده، ولی کسی دیگر هم کلید دارد.
برای همین «سایت من که درست کار میکند» به این معنا نیست که آلوده نیست. هکری که داده میخواهد یا از اعتبار سایت شما در گوگل استفاده میکند، دلیلی ندارد خودش را نشان دهد. هر قدر بیصداتر باشد، بیشتر میماند.
در اصطلاح، به هر کد یا فایلی که این کار را میکند بدافزار (malware) یا کد مخرب میگویند و مردم معمولا به آن «ویروس سایت» میگویند. به راه مخفی برگشتن هکر بکدور (backdoor) میگویند؛ همان کلید در پشتی. و وبشل (web shell) فایلی است که به هکر اجازه میدهد از راه دور روی سرور شما فرمان اجرا کند.
هکر از سایت شما چه میخواهد
بیشتر سایتهایی که هک میشوند، هدف شخصی نیستند. رباتها هزاران سایت را پشت سر هم میآزمایند و هر جا دری باز بود، وارد میشوند. وقتی وارد شدند، معمولا یکی از این کارها را میکنند:
- بردن دادهها. فهرست مشتریها، شمارهها، ایمیلها و سفارشها. این بیصداترین نوع است و در تجربهی ما رایجترینش. در یکی از پروژههایی که برای کار دیگری وارد آن شدیم، اسکریپتی روی سایت ساخته شده بود که دادههای سایت را همزمان به بیرون میفرستاد؛ این کار بیش از دو سال ادامه داشت و صاحب سایت خبر نداشت.
- اسپم سئو. صفحه و لینک برای فروش دارو، جنس تقلبی یا چیزهای دیگر در سایت شما ساخته میشود تا از اعتبار دامنهی شما در گوگل استفاده کند.
- ریدایرکت. بازدیدکننده، بهخصوص روی گوشی، به سایت دیگری فرستاده میشود که هکر از آن پول درمیآورد.
- پخش بدافزار یا فیشینگ. سایت شما صفحهای فریبنده نشان میدهد یا فایلی خطرناک به بازدیدکننده میدهد.
- فرستادن ایمیل اسپم از سرور شما.
- خراب کردن سایت و خواستن پول برای درست کردنش.
کسی که داده میبرد، تقریبا هیچ نشانهی بیرونی ندارد؛ کسی که اسپم سئو میسازد، در نتیجههای گوگل پیداست.
انواع هکی که گوگل نام میبرد
گوگل در راهنمای گزارش Security Issues در Search Console آلودگی را چند دسته کرده است. اسمها انگلیسیاند، چون در خود گزارش همینطور دیده میشوند:
- Hacked: Malware؛ سایت نرمافزار مخرب پخش میکند.
- Hacked: Code injection؛ کدی به صفحهها اضافه شده که مثلا بازدیدکننده را ریدایرکت میکند یا با مرورگر او رمزارز استخراج میکند.
- Hacked: Content injection؛ متن یا لینک اسپم بی اجازهی شما به صفحهها اضافه شده است.
- Hacked: URL injection؛ صفحههای تازهای با اسپم یا ریدایرکت مخرب در سایت ساخته شده است.
- و جدا از اینها، مهندسی اجتماعی؛ صفحهای که بازدیدکننده را فریب میدهد تا رمزش را بدهد یا فایلی دانلود کند.
چند نوع هک اسپم هم آنقدر رایج است که گوگل در web.dev برای هر کدام راهنمای جدا نوشته است:
- هک کلمهی کلیدی ژاپنی (Japanese keyword hack). صفحههای تازه با متن ژاپنیِ خودکار در پوشههایی با نام تصادفی ساخته میشود، با لینک به فروشگاههای جنس تقلبی، و همین صفحهها در جستجوی گوگل زیر نام سایت شما دیده میشوند.
- هک متن بیمعنی (gibberish hack). صفحههای زیادی با جملههای بیمعنی و پر از کلمهی کلیدی، که اغلب بازدیدکننده را به سایت دیگری میفرستند.
- هک کلمهها و لینکهای پنهان (cloaked keywords). صفحههای اسپم که گاهی حتی قالب خود سایت شما را دارند، تا طبیعی به نظر برسند؛ هکر لینکها را به دیگران میفروشد.
گزارش Sucuri دربارهی سایتهایی که خودش در سال ۲۰۲۳ پاکسازی کرده نشان میدهد این نوع چقدر رایج است: در ۴۲٫۲٪ سایتهای آلودهی آن گزارش اسپم سئو پیدا شد و رایجترین آلودگی تکی، دستکاری فایل `.htaccess` برای همین اسپم ژاپنی بود. یک نکته را هم در نظر داشته باشید: این عددها مال مشتریهای خود Sucuri است، نه همهی سایتهای دنیا.
نشانهها: از کجا بفهمیم سایت وردپرسی هک شده
نشانهها را از آسان به سخت میچینیم.
نتیجههای ژاپنی، چینی یا بیمعنی در گوگل
در گوگل بنویسید `site:` و بعد دامنهی خودتان را، بی فاصله. گوگل فهرست صفحههایی را که از سایت شما میشناسد نشان میدهد. اگر میان آنها صفحههایی با عنوان ژاپنی، چینی، نام دارو یا متن بیمعنی هست که شما نساختهاید، این روشنترین نشانهی هک اسپم است. گوگل در راهنماهای هک ژاپنی و هک متن بیمعنی در web.dev همین جستجو را اولین قدم میداند.
ممکن است همان نشانیها را که باز میکنید، صفحهی خالی یا خطای ۴۰۴ ببینید. این خیال شما را راحت نکند. گوگل در راهنمای How do I know if my site was hacked دقیقا همین مثال را میزند: شما صفحهی خالی میبینید و گوگل همان نشانی را پر از اسپم. به این ترفند cloaking میگویند؛ نشان دادن یک چیز به ربات گوگل و چیز دیگر به آدم.
هشدارهای گوگل و کروم
گوگل برای سایت آلوده دو برچسب در نتیجههای جستجو دارد که عینا همین جملهها دیده میشوند:
- This site may be hacked؛ یعنی هکر صفحههایی را عوض کرده یا صفحهی اسپم ساخته است.
- This site may harm your computer؛ یعنی سایت بدافزار پخش میکند.
مرورگر کروم هم ممکن است پیش از باز کردن سایت، صفحهی قرمز Deceptive site ahead نشان دهد. گوگل در صفحهی Social engineering در Search Central (بهروزشده در دسامبر ۲۰۲۵) میگوید این هشدار وقتی است که محتوای فریبنده دیده شده باشد، و هکرها گاهی سایتهای بیگناه را میگیرند تا همین محتوا را از روی آنها پخش کنند.
یک نکتهی مهم: این هشدار ممکن است به همه نشان داده نشود. گوگل در FAQ for hacked sites میگوید Safe Browsing هشدار را بر اساس شرایط هر کاربر نشان میدهد و صاحب سایت ممکن است در مرورگر خودش آن را نبیند. وضعیت عمومی هر نشانی را میشود در صفحهی Safe Browsing گزارش شفافیت گوگل دید.
سایت روی گوشی یا از گوگل به جای دیگری میرود
این نشانهای است که صاحب سایت معمولا آخر از همه میفهمد. شما از کامپیوتر خودتان نشانی سایت را مستقیم میزنید و همه چیز درست است. ولی مشتریای که با گوشی از نتیجههای گوگل روی سایت شما میزند، به سایت دیگری فرستاده میشود.
گوگل در سال ۲۰۱۵ در وبلاگ Search Central نوشت که ریدایرکت فقط برای کاربران موبایل میتواند نتیجهی هک باشد، و راه دیدنش را هم گفت: سایت را با گوشی، از خود نتیجههای جستجوی گوگل باز کنید. در راهنمای Hacked with malware هم آمده که بعضی بدافزارها فقط وقتی فعال میشوند که کاربر از گوگل آمده باشد یا مرورگر خاصی داشته باشد، تا آدمهای واقعی را بزنند و از چشم صاحب سایت و اسکنرها پنهان بمانند.
پس اگر کسی گفت «سایتتان مرا به جای دیگری برد» و شما چیزی ندیدید، حرفش را جدی بگیرید.
کاربر مدیر ناشناس، یا مالک ناشناس در Search Console
در پیشخوان وردپرس، بخش کاربران را باز کنید و فقط نقش «مدیر کل» را ببینید. هر نامی که نمیشناسید، نشانه است. مستندات رسمی وردپرس در FAQ My site was hacked ساخته شدن کاربر تازه را از نشانههای روشن هک میداند. گزارش Sucuri برای سال ۲۰۲۳ هم میگوید در ۵۵٫۲٪ دیتابیسهای آلودهای که پاک کرده، کاربر مدیر مخرب پیدا شده است.
ولی ندیدن کاربر ناشناس هم دلیل سلامت نیست. Sucuri در سپتامبر ۲۰۲۵ بکدوری را گزارش کرد که کاربر مدیر پنهان میسازد، خودش را از فهرست افزونهها پنهان میکند و اگر کاربر را پاک کنید، دوباره میسازدش.
در Search Console هم اگر پیامی آمد که کسی که نمیشناسید مالکیت سایت شما را تأیید کرده، گوگل در راهنمای هک ژاپنی میگوید به احتمال زیاد سایت هک شده است.
کندی ناگهانی، ایمیل اسپم و تعلیق هاست
چند نشانه هم از بیرون به سایت نمیخورد، ولی از هاست و ایمیل پیداست:
- سایت ناگهان خیلی کند شده است، بی آنکه چیزی عوض کرده باشید. Sucuri در راهنمای پاکسازی وردپرس میگوید بعضی بدافزارها منابع زیادی از سرور مصرف میکنند. ما هم این را در کار خودمان زیاد دیدهایم.
- ایمیلهای سایت به اسپم میروند یا برنمیگردند. مستندات وردپرس میگوید وقتی از سرور برای فرستادن اسپم استفاده شود، نشانی سرور در فهرست سیاه ایمیل میرود و ایمیلهای خود شما هم آسیب میبیند.
- هاست سایت را معلق کرده است. هاستها روی سرور مشترک سایت آلوده را خاموش میکنند تا به سایتهای دیگر سرایت نکند.
- آنتیویروس بازدیدکنندهها هشدار میدهد.
- بازدید ناگهان از جستجوهای بیربط زیاد شده است. گوگل در FAQ سایتهای هکشده این را هم نشانه میداند؛ یعنی صفحههایی از سایت شما برای کلمههایی دیده میشوند که شما هرگز دربارهشان ننوشتهاید.
آلودگیای که بینشانه پیدا شد
یک نکته از تجربهی خودمان: در خیلی از پروژههایی که برای کار دیگری وارد شدیم، مثلا سریعتر کردن سایت یا جابهجایی سرور، آثار آلودگی پیدا کردیم بی آنکه دنبالش باشیم. صاحب آن سایتها هیچکدام از نشانههای بالا را ندیده بودند. برای همین اگر نشانهای ندیدید، یعنی آلودگی بلند صدا ندارد؛ نه لزوما اینکه نیست. تنها راه مطمئن، نگاه کردن از داخل است.
چرا خود شما و اسکنر هاست چیزی نمیبینید
این سوال را زیاد میشنویم: «هاست اسکن کرد و گفت سالم است.» یا «افزونهی امنیتی نصب است و هشداری نداد.» دلیلش این است که بیشتر اسکنرها دنبال الگوهای آشنا میگردند، و بدافزار امروز طوری ساخته میشود که آشنا نباشد.
چهار دلیل اصلی، هر کدام با منبع:
- بدافزار به اسکنر و صاحب سایت چهرهی تمیز نشان میدهد. گزارش Patchstack با عنوان State of WordPress Security in 2026 (با دادهی Monarx از سال ۲۰۲۵) میگوید خانوادههای اصلی بدافزار آن سال cloaking داشتند: به ربات جستجو اسپم، به آدم ریدایرکت، و به اسکنرها و صاحب سایت محتوای تمیز. برای همین هاستها اغلب وقتی خبردار میشوند که آسیب رسیده است.
- بعضی بدافزارها اصلا فایل نیستند. Sucuri در ژانویهی ۲۰۲۵ اسکیمر کارتی را گزارش کرد که در دیتابیس، در تنظیمات ویجتها، نشسته بود؛ چون در فایل نبود، اسکنرهای رایج فایل آن را نمیدیدند.
- فایل آلوده گاهی همان فایل اصلی خود وردپرس یا افزونه است که تکهای به آن اضافه شده. Patchstack در همان گزارش میگوید اسکنری که فقط با امضا فایل آلوده را پیدا و پاک میکند، اینجا کافی نیست؛ چون این فایل را نمیشود پاک کرد، باید درستش کرد.
- اسکنر بیرونی فقط آنچه را بیرون پیداست میبیند. گزارش Sucuri برای ۲۰۲۳ خودش میگوید اسکنری که از راه دور سایت را نگاه میکند، بکدور یا اسکیمری را که در سرور است و در صفحه پیدا نیست نمیبیند.
Patchstack در همان گزارش از دو آزمون نفوذ در سال ۲۰۲۵ روی هاستها هم میگوید: دفاعهای معمول هاست در آزمون اول فقط ۱۲٪ حملههای مخصوص وردپرس و در آزمون دوم ۲۶٪ کل حملهها را بستند.
تجربهی ما هم همین را میگوید. ویروسیاب هاستها در بیشتر سایتهایی که ما آلوده پیدا کردیم، فایل آلوده را تشخیص نداده بود. ابزار خودکار برای الگوهای شناختهشده ساخته شده است. پیدا کردن بقیه کار آدمی است که فایلها و دیتابیس را یکییکی با نسخهی سالم مقایسه کند.
بدافزار در سایت وردپرسی کجا پنهان میشود
وردپرس دو بخش دارد: فایلها (خود وردپرس، افزونهها، قالب و هر چه آپلود شده) و دیتابیس (نوشتهها، صفحهها، کاربرها و تنظیمات). بدافزار در هر دو جا مینشیند و معمولا در هر دو با هم.
دیتابیس
دیتابیس جایی است که صاحب سایت کمتر از همه نگاهش میکند. سه جدول آن بیشتر از بقیه هدف است:
- جدول تنظیمات (`wp_options`)؛ جای ویجتها و تنظیمهای افزونهها. اسکیمر کارتی که Sucuri در ۲۰۲۵ گزارش کرد، همینجا بود.
- جدول نوشتهها (`wp_posts`)؛ جای صفحهها و لینکهای اسپم که داخل متن نوشتههای شما پنهان میشوند.
- جدول کاربرها (`wp_users`)؛ جای مدیرهای مخرب.
گزارش Sucuri برای ۲۰۲۳ میگوید ۳۸٫۳٪ دیتابیسهای آلودهای که پاک کرده، اسپم سئو داشتند، بیشتر لینک پنهان دارو و قمار. لینک پنهان یعنی لینکی که در کد صفحه هست و گوگل آن را میخواند، ولی روی صفحه دیده نمیشود.
فایلهای خود وردپرس، افزونهها و قالب
هکر دوست دارد کدش در فایلی باشد که روی همهی صفحهها اجرا میشود. مستندات رسمی وردپرس فایلهای `index.php`، `header.php`، `footer.php` و `functions.php` قالب را از همین دسته میداند. فایل `wp-config.php` هم که تنظیمات اصلی سایت در آن است، هدف رایجی است.
گاهی هم فایل تازهای با نامی شبیه فایلهای خود وردپرس ساخته میشود، ولی در پوشهای که جایش نیست. Sucuri در راهنمای پاکسازی وردپرس میگوید هکرها اغلب چند بکدور از چند نوع میگذارند، گاهی با همین نامهای آشنا. به گزارش سالانهی Wordfence برای ۲۰۲۴، سه بدافزار پرتکرار آن سال همه کد مبهمشده بودند، یعنی عمدا ناخوانا، و به هکر اجازهی اجرای کد از راه دور میدادند.
پوشهی آپلود و افزونههای همیشهفعال
پوشهی `uploads` جای تصویر و فایلهایی است که شما یا کاربرها بالا میگذارید. در این پوشه فایل اجرایی PHP جایی ندارد؛ اگر پیدا شد، تقریبا همیشه نشانه است. Sucuri در راهنمای پاکسازی همین را نشانهی آلودگی میداند.
جای کمتر شناختهشده پوشهی `mu-plugins` است. افزونههایی که آنجا باشند، خودکار و بی فعالسازی اجرا میشوند و در فهرست عادی افزونههای پیشخوان هم دیده نمیشوند. Sucuri در مارس ۲۰۲۵ سه نمونه بدافزار را در همین پوشه گزارش کرد: یکی ریدایرکت به صفحهی «بهروزرسانی جعلی»، یکی وبشل و یکی تزریقکنندهی اسپم.
فایل .htaccess و تنظیمات سرور
فایل `.htaccess` به وبسرور میگوید هر درخواست را کجا بفرستد. برای همین بهترین جا برای ریدایرکت مخفی است. مستندات وردپرس آن را از رایجترین فایلهای دستکاریشده میداند و یادآوری میکند ممکن است در چند پوشه باشد، نه فقط در ریشهی سایت. گوگل هم در راهنمای Hacked with malware ریدایرکت هکشده را اغلب کار همین فایلهای پیکربندی سرور میداند.
کار زمانبندیشده و برنامههای در حافظه
در کار خودمان کارهای زمانبندیشدهی مخرب (cron) هم دیدهایم: کاری که هر چند ساعت یک بار اجرا میشود و فایلهای پاکشده را برمیگرداند. Patchstack هم در گزارش ۲۰۲۶ بدافزاری به نام Lock360 را توصیف میکند که در حافظهی سرور میماند و `index.php` و `.htaccess` را به محض برگرداندن، دوباره آلوده میکند. برای همین پاکسازی بی نگاه به اینها نیمهکاره است.
چرا سایتهای وردپرسی هک میشوند
حالا سوال اصلی: هکر از کجا وارد میشود؟ جواب کوتاه این است که تقریبا هیچوقت از خود وردپرس نیست.
افزونهها و قالبها
گزارش Patchstack با دادهی سال ۲۰۲۵ میگوید در آن سال ۱۱٬۳۳۴ آسیبپذیری تازه در دنیای وردپرس اعلام شد. از اینها ۹۱٪ در افزونهها بود، ۹٪ در قالبها و فقط ۶ مورد در هستهی خود وردپرس، آن هم کماهمیت. Wordfence هم در گزارش ۲۰۲۴ عدد نزدیکی دارد: ۹۶٪ آسیبپذیریهای اعلامشده در افزونهها و فقط ۵ مورد در هسته.
آسیبپذیری یعنی خطایی در کد که به کسی اجازهی کاری را میدهد که نباید بکند؛ مثل قفلی که با کلید دیگری هم باز میشود. هر افزونهای که نصب میکنید، یک قفل تازه به خانه اضافه میکند.
دو عدد دیگر از همان گزارش Patchstack نشان میدهد زمان چقدر مهم است. حدود نیمی از آسیبپذیریهای پراثر در ۲۴ ساعت اول بعد از اعلام مورد حمله قرار گرفتند، و برای پرحملهترینها میانهی زمان تا اولین حمله ۵ ساعت بود. یعنی رباتها منتظر نمیمانند. و ۴۶٪ آسیبپذیریها تا روز اعلام عمومی هنوز وصله نداشتند؛ پس بهروز بودن لازم است، ولی همیشه کافی نیست. Patchstack همچنین میگوید ۷۶٪ آسیبپذیریهایی که در افزونه و قالبهای پولی پیدا شد، در حملهی واقعی قابل استفاده بود؛ پس پولی بودن بهتنهایی نشانهی امنیت نیست.
نرمافزار قدیمی و رهاشده
از ده آسیبپذیریای که در ۲۰۲۵ بیشترین حمله را داشتند، به گفتهی Patchstack فقط چهارتا مال همان سال بود. بقیه قدیمی بودند؛ یعنی حمله به سایتهایی که سالها بهروز نشده بودند. گزارش Sucuri برای ۲۰۲۳ هم میگوید ۳۹٫۱٪ سایتهای آلوده هنگام آلودگی نسخهی قدیمی داشتند.
Wordfence در گزارش ۲۰۲۴ پیشنهاد روشنی دارد: افزونه یا قالبی که بیش از دو سال بهروز نشده، رهاشده است و باید برداشته یا جایگزین شود. و گوگل در راهنمای Top ways sites get hacked by spammers اضافه میکند که افزونهای را که برمیدارید، کامل از سرور پاک کنید؛ غیرفعال کردن کافی نیست.
افزونه و قالب نالشده
نسخهی رایگانِ افزونه یا قالب پولی که از سایتهای دانلود گرفته میشود، «نالشده» نام دارد. گوگل در همان راهنمای راههای هک میگوید گذاشتن کد مخرب در همین نسخهها ترفند رایج مهاجمهاست. Wordfence در گزارش ۲۰۲۴ میگوید نالشدهها دیگر منشأ اصلی آلودگی نیستند، برخلاف چند سال پیش؛ ولی هنوز یکی از راههاست. نسخهی نالشده بهروزرسانی نمیگیرد و خیلی زود همان نرمافزار قدیمی میشود.
رمز و دسترسی لو رفته
همهی هکها از کد نیستند. گوگل در همان راهنما رمز لو رفته یا حدسزدهشده را از راههای رایج میداند. Wordfence در گزارش ۲۰۲۴ میگوید بیش از ۵۵ میلیارد تلاش حملهی رمز را در آن سال مسدود کرده است، و تیم پاکسازیاش لو رفتن اطلاعات ورود حساب هاست را منشأ رایج نفوذ میبیند. یعنی گاهی هکر از در پیشخوان وردپرس نمیآید؛ از پنل هاست میآید.
مستندات وردپرس یک راه کمتر دیدهشده را هم میگوید: گاهی منشأ حمله کامپیوتر خود صاحب سایت است. برنامهی مخربی روی کامپیوتر شما رمز FTP یا پیشخوان را میدزدد. پس اگر سایت پاک شود ولی کامپیوتری که با آن وارد سایت میشوید آلوده بماند، رمز تازه هم دوباره لو میرود.
همسایهها و دسترسیهای اضافه
روی هاست اشتراکی، به گفتهی مستندات وردپرس، هک ممکن است به بیش از یک سایت رسیده باشد. گوگل یک دلیل دیگر را هم نام میبرد: سیاست امنیتی سست؛ مثلا اینکه طراح قدیمی، کارمندی که رفته یا افزونهای که دیگر استفاده نمیشود، هنوز دسترسی مدیر دارد.
آیا وردپرس امن نیست؟
این سوال را زیاد میپرسند، چون بیشتر سایتهای هکشدهای که میبینند وردپرسیاند. گزارش Sucuri برای ۲۰۲۳ هم میگوید ۹۵٫۵٪ آلودگیهایی که پاک کرده، در وردپرس بود. ولی خود همان گزارش توضیح میدهد که این نشانهی رواج وردپرس است، نه ضعفش. وقتی بیشتر سایتهای دنیا وردپرسیاند، بیشتر سایتهای هکشده هم وردپرسیاند.
عددهای بالا جواب روشنتری میدهند: هستهی وردپرس در یک سال فقط چند آسیبپذیری کماهمیت داشت. وردپرس از نسخهی ۳٫۷ هم بهروزرسانی خودکار امنیتی دارد. مشکل معمولا در چیزهایی است که کنارش نصب میشود و در دسترسیهایی که بیمراقبت مانده.
اولین کارها وقتی فهمیدید سایت هک شده
اولین قدم آرام بودن است. هک قابل درست شدن است و عجله بیشتر از خود هک کار را خراب میکند. چند کار درست و چند کار نادرست:
- از همان وضع آلوده یک نسخهی کامل بگیرید، هم فایلها و هم دیتابیس. مستندات وردپرس این را پیش از هر پاکسازی میخواهد. دلیلش این است که این نسخه نشان میدهد هکر از کجا آمد و چه کرد؛ اگر اول پاک کنید، این ردپا از دست میرود.
- رمزها را عوض کنید؛ همهشان، نه فقط رمز پیشخوان: پنل هاست، FTP یا SFTP، دیتابیس و همهی کاربرهای مدیر. مستندات وردپرس این را صریح میگوید. ولی بدانید این قدم بهتنهایی کافی نیست؛ اگر بکدوری مانده باشد، هکر به رمز نیازی ندارد.
- با هاست حرف بزنید. بپرسید آیا چیزی دیدهاند، و اگر هاست اشتراکی است، آیا سایتهای دیگر روی همان حساب هم آلودهاند.
- کامپیوتری را که با آن وارد سایت میشوید اسکن کنید. همان دلیلی که بالاتر گفتیم.
- پیش از پاکسازی کامل، از گوگل درخواست بازبینی نکنید. این مهمترین «نکن» است. گوگل در راهنمای Request a review صریح میگوید درخواست بازبینی وقتی مشکل هنوز هست، فقط مدت برچسب خطرناک را طولانیتر میکند. اول سایت را کامل پاک کنید و راه ورود را ببندید؛ بعد بازبینی بخواهید.
- سایت را با نسخهی پشتیبان قدیمی برنگردانید، مگر مطمئن باشید آن نسخه پیش از ورود هکر گرفته شده است. در تجربهی ما هک گاهی خیلی پیش از دیده شدن نشانهها شروع شده و پشتیبانهای اخیر هم آلودهاند. علاوه بر این، حتی پشتیبان تمیز هم همان در باز را دارد؛ هکر از همان راه برمیگردد.
- دکمهی «نصب دوبارهی وردپرس» در پیشخوان را راه پاکسازی ندانید. مستندات وردپرس توضیح میدهد این کار فقط فایلهای موجود را رونویسی میکند، در حالی که هکها اغلب فایل تازه اضافه میکنند. فایلهای تازهی هکر سر جایشان میمانند.
پاکسازی درست سایت وردپرسی چه چیزهایی دارد
پاکسازی یعنی برگرداندن سایت به وضعی که فقط کد شما در آن اجرا شود و فقط آدمهای شما به آن دسترسی داشته باشند. فهرست زیر جمع راهنماهای رسمی وردپرس و گوگل و راهنمای پاکسازی Sucuri است، و همان ترتیبی که خود ما کار میکنیم:
- ثبت وضع آلوده. نسخهای کامل و یادداشت آنچه دیده میشود، پیش از هر تغییر.
- بیرون کردن همه از همهجا. عوض کردن رمز همهی درها، و نو کردن کلیدهای امنیتی در `wp-config.php`. مستندات وردپرس میگوید با عوض شدن این کلیدها هر کسی که هنوز وارد است، بیرون انداخته میشود.
- مقایسهی فایلهای هسته با نسخهی رسمی. وردپرس برای هر نسخه فهرست اثر انگشت (checksum) فایلهایش را منتشر میکند؛ ابزار رسمی WP-CLI با آن فایلهای دستخورده را نشان میدهد. پوشههای `wp-admin` و `wp-includes` با نسخهی تمیزِ همان نسخه جایگزین میشوند.
- افزونهها و قالب. افزونههای مخزن وردپرس با همان روش اثر انگشت مقایسه میشوند؛ بقیه با نسخهی تمیز از سازنده. افزونهی نالشده، رهاشده یا بیاستفاده کامل برداشته میشود.
- پوشههای پنهان. `uploads`، `mu-plugins`، همهی فایلهای `.htaccess` در همهی پوشهها، و `wp-config.php`.
- گشتن دنبال کد مبهم. کدی که عمدا ناخوانا نوشته شده، معمولا چیزی برای پنهان کردن دارد. با احتیاط، چون افزونههای سالم هم گاهی از همان روشها استفاده میکنند؛ هر مورد باید خوانده و فهمیده شود، نه کورکورانه پاک.
- دیتابیس. جدول تنظیمات، نوشتهها و کاربرها، ردیف به ردیف برای اسکریپت، لینک پنهان و کاربر مخرب.
- کاربرها در همهی درها. نه فقط کاربرهای وردپرس؛ کاربر FTP، SSH و دیتابیس هم. Sucuri در راهنمای پاکسازی میگوید اگر سایت پاک شود ولی کاربر مدیر یا FTP مخرب بماند، سایت زود دوباره آلوده میشود.
- کارهای زمانبندیشده. هر کاری که خودکار و منظم اجرا میشود، تا هیچکدام فایل پاکشده را برنگرداند.
- فهمیدن اینکه هکر از کجا آمد. مستندات وردپرس این را بخش جدای کار میداند، چون اگر در همانطور باز بماند، همهی کار بالا دوباره لازم میشود.
- بهروزرسانی هسته، افزونهها و قالب.
- عوض کردن دوبارهی رمزها، بعد از تمیز شدن. مستندات وردپرس این قدم را جدا و با تأکید آورده است؛ چون رمزی که حین آلودگی عوض شده، ممکن است همان موقع هم دیده شده باشد.
این فهرست طولانی است، چون آلودگی هم معمولا یک جا نیست. پاک کردن فقط آنچه دیده میشود، مثل خشک کردن آب کف آشپزخانه است وقتی شیر هنوز چکه میکند.
امنسازی بعد از پاکسازی
پاکسازی آب را خشک میکند؛ امنسازی شیر را میبندد. راهنمای رسمی Hardening WordPress در developer.wordpress.org (آخرین تغییر ژانویهی ۲۰۲۶) و صفحهی رسمی Brute Force Attacks (فوریهی ۲۰۲۶) اینها را پیشنهاد میکنند:
- بستن ویرایشگر فایل در پیشخوان. وردپرس ویرایشگری دارد که با آن میشود کد قالب و افزونه را از داخل پیشخوان عوض کرد. اگر کسی به پیشخوان برسد، با همین ویرایشگر میتواند کد اجرا کند. یک خط در `wp-config.php` آن را میبندد.
- دسترسی درست فایلها. فقط آنچه واقعا لازم است برای وبسرور قابل نوشتن باشد؛ `wp-config.php` محدودتر از بقیه.
- کمترین دسترسی برای کاربر دیتابیس. وردپرس در کار روزمره فقط خواندن، نوشتن، ویرایش و حذف ردیف لازم دارد؛ اجازهی پاک کردن یا عوض کردن ساختار جدولها را میشود گرفت.
- ورود دو مرحلهای برای همهی مدیرها.
- محدود کردن تلاش ورود. صفحهی رسمی Brute Force میگوید حتی تلاشهای ناموفق میتواند سایت را زیر بار بخواباند؛ پس شمار تلاش روی صفحهی ورود محدود میشود، و راه قدیمی `xmlrpc.php` اگر لازم نیست، بسته یا محدود.
- کنار گذاشتن نام کاربری admin و رمز قوی و یکتا برای هر کس.
- فایروال وب، ثبت رویدادها و پایش یکپارچگی فایلها؛ یعنی اگر فایلی عوض شد، کسی خبردار شود.
- پشتیبان منظم از کل سایت، و برنامهی روشن برای برگرداندن آن.
راهنمای رسمی وردپرس یک اصل را هم بالای همه میگذارد: مهار. یعنی سیستم طوری تنظیم شود که اگر روزی نفوذی شد، کمترین آسیب را بزند. هیچ سیستمی صد درصد امن نیست؛ Wordfence هم در گزارش ۲۰۲۴ همین را میگوید. هدف امنسازی این است که ورود سخت باشد، و اگر شد، زود دیده شود و دور نرود.
امنسازی فقط مال سایت هکشده هم نیست. سایتی که امروز سالم است، با همین کارها سالم میماند؛ و این ارزانتر و آرامتر از پاکسازی بعد از هک است.
چرا سایت هک شده دوباره آلوده میشود
بیشترین ناامیدی که از صاحبان سایت میشنویم این است: «پاکش کردیم، دو هفته بعد برگشت.» دلیلش تقریبا همیشه یکی از این چهار چیز است:
- بکدوری جا مانده است. گزارش Sucuri برای ۲۰۲۳ میگوید ۴۹٫۲٪ سایتهای آلودهاش دستکم یک بکدور داشتند، و راهنمای پاکسازی همان شرکت میگوید اغلب چند بکدور از چند نوع پیدا میشود. اگر یکی بماند، هکر برمیگردد.
- کاربر یا دسترسی مخرب مانده است؛ در وردپرس، FTP یا دیتابیس.
- در اصلی باز مانده است. افزونهی آسیبپذیر هنوز نصب است یا رمز لو رفته عوض نشده. گوگل در راهنمای Clean and maintain your site و Request a review بستن آسیبپذیری را شرط کار میداند، نه کار اضافه.
- چیزی آلودگی را برمیگرداند. Patchstack در گزارش ۲۰۲۶ میگوید مهاجمها در ۲۰۲۵ «زیرساخت ماندگار» میکاشتند، یعنی اسکریپتهایی که بعد از پاکسازی هم راه برگشت را باز نگه میدارند. کار زمانبندیشدهی مخرب و بدافزار درون حافظه از همین دستهاند. سایتهای همسایه روی همان سرور هم میتوانند منشأ باشند.
پس پاکسازی خوب با یک سوال تمام میشود، نه با پاک کردن آخرین فایل: «اگر من جای هکر بودم، از کجا برمیگشتم؟» تا جواب این سوال «از هیچجا» نشود، کار تمام نیست.
ووکامرس: وقتی هک به صفحهی پرداخت میرسد
فروشگاه ووکامرسی همهی خطرهای بالا را دارد، بهعلاوهی یک خطر مخصوص: اسکیمر. اسکیمر کدی است که روی صفحهی پرداخت مینشیند و هر چه مشتری در فرم مینویسد، برای هکر هم میفرستد. مثل دستگاهی که روی کارتخوان مغازه چسبانده باشند: خرید درست انجام میشود و هیچکس چیزی نمیفهمد.
گزارش Sucuri برای ۲۰۲۳ میگوید در ۳۷٫۵٪ سایتهایی که بدافزار فروشگاهی داشتند، اسکیمر در فایل فرم پرداخت ووکامرس بود. ولی همهی اسکیمرها در فایل نیستند. همان اسکیمری که Sucuri در ژانویهی ۲۰۲۵ گزارش کرد، در دیتابیس نشسته بود و فقط در صفحهای فعال میشد که نشانیاش کلمهی checkout داشت.
حتی وقتی پرداخت در صفحهی بانک انجام میشود، فرم پرداخت ووکامرس نام، شماره، نشانی و ایمیل مشتری را میگیرد؛ همان دادهای که هکر دنبالش است.
برای فروشگاه چند چیز در پاکسازی و امنسازی پررنگتر است:
- صفحهی پرداخت و فایلهای قالب پرداخت جدا و با دقت نگاه میشوند، نه فقط صفحهی اصلی.
- ویجتها و تنظیمات دیتابیس برای کدی که فقط در صفحهی پرداخت اجرا میشود گشته میشوند.
- افزونههای جانبی فروشگاه، مثل درگاه، ارسال و پیامک، همه بهروز و از منبع اصلیاند.
برداشتن هشدار گوگل و برگشتن به حال عادی
بعد از پاکسازی کامل و بستن راه ورود، نوبت گوگل است. در گزارش Security Issues در Search Console دکمهی Request Review را میزنید و توضیح میدهید چه کاری انجام شد. پیشنیازها را گوگل در راهنمای Request a review روشن گفته است: مالکیت سایت در Search Console، پاک کردن کار هکر، بستن آسیبپذیری و برگرداندن سایت تمیز.
زمانها هم از همان راهنمای گوگل است: بازبینی هک اسپم تا چند هفته طول میکشد، چون بررسی دستی یا پردازش دوبارهی صفحهها لازم است؛ بدافزار چند روز؛ و فیشینگ حدود یک روز. اگر سایت تمیز تشخیص داده شود، هشدار مرورگر و نتایج جستجو ظرف ۷۲ ساعت برداشته میشود.
صفحههای اسپمی که هکر ساخته بود هم، به گفتهی گوگل در Clean and maintain your site، اگر پاک شوند و خطای ۴۰۴ برگردانند، خودشان با گذر زمان از نتیجهها بیرون میروند. ابزار حذف نشانی در Search Console فقط برای سریعتر کردن است.
اینکه رتبهی سایت در گوگل بعد از پاکسازی چقدر طول میکشد تا برگردد، منبع روشنی ندارد و به اندازهی آلودگی و مدت ماندنش بستگی دارد.
اگر هاست سایت را معلق کرده بود، گزارش کار پاکسازی را برایش بفرستید تا دوباره روشنش کند. Sucuri در راهنمای پاکسازی همین را پیشنهاد میکند.
چطور جلوی هک دوباره را بگیریم
امنیت یک بار انجام نمیشود؛ عادت است. مثل در خانه که هر شب قفل میشود، نه فقط شبی که دزد آمده بود. این عادتها بیشترین اثر را دارند:
- کمتر، ولی بهتر. هر افزونهای که لازم نیست، کامل برداشته شود. هر افزونهی تازه پیش از نصب نگاه شود: آخرین بهروزرسانی کی بوده و از منبع اصلی است یا نه.
- بهروزرسانی منظم، با پشتیبان پیش از آن. عددهای Patchstack نشان میدهد فاصلهی میان اعلام آسیبپذیری و حمله گاهی چند ساعت است.
- هیچ افزونه یا قالب نالشده. فقط از wordpress.org یا خود سازنده؛ مستندات وردپرس هم همین را میخواهد.
- رمز یکتا و ورود دو مرحلهای برای پیشخوان، پنل هاست و ایمیلی که رمزها به آن بازیابی میشوند.
- مرور دسترسیها، مثلا هر چند ماه یک بار: چه کسانی مدیرند و هنوز لازم است باشند؟
- کامپیوتر سالم برای کار با سایت.
- پشتیبان منظم و آزموده. پشتیبانی که هرگز برگردانده نشده، معلوم نیست کار کند.
- نگاه دورهای به نشانهها. گاهی جستجوی `site:`، گاهی باز کردن سایت با گوشی از نتیجههای گوگل، و نگاه به پیامهای Search Console.
در کنار این عادتها، یک بار امنسازی کامل از داخل سرور هم ارزش دارد؛ حتی برای سایتی که هک نشده. چون بیشتر آنچه بالا گفتیم، مثل دسترسی فایلها، کاربر دیتابیس و بستن ویرایشگر، یک بار درست میشود و بعد سالها از سایت مراقبت میکند.
پرسشهای رایج
افزونهی امنیتی نصب کنم، کافی است؟
افزونهی امنیتی خوب کمک میکند، بهخصوص برای محدود کردن ورود و خبر دادن از تغییر فایلها. ولی همانطور که گفتیم، بدافزار در دیتابیس یا فایل اصلیِ دستخورده از چشم اسکنرهای فایل پنهان میماند. و Patchstack میگوید پرحملهترین نوع آسیبپذیری در ۲۰۲۵ شبیه ترافیک عادی بود و با فایروال معمولی سخت جلویش گرفته میشد. افزونه یکی از قفلهاست، نه همهی آنها.
سایتم هک شده، اطلاعاتم از دست میرود؟
پاکسازی درست محتوای شما را پاک نمیکند؛ نوشتهها، محصولات، سفارشها و کاربرهای واقعی سر جایشان میمانند و فقط آنچه هکر اضافه کرده برداشته میشود. برای همین اولین قدم، گرفتن نسخهی کامل از همان وضع فعلی است؛ تا هر چه هست، امن بماند.
از کجا بفهمم دادههای سایتم بیرون رفته؟
از بیرون معمولا نمیشود فهمید؛ اسکریپتی که داده میبرد، عمدا بیصداست. فقط نگاه به فایلها، دیتابیس، کارهای زمانبندیشده و لاگهای سرور نشان میدهد چیزی به بیرون فرستاده میشده یا نه، و از کی.
اگر میخواهید بدانید سایت وردپرسی شما آلوده است یا نه، بررسی رایگان امنیت سایت را بخواهید؛ و اگر آلوده است، پاکسازی و امنسازی وردپرس همین کارها را برایتان انجام میدهد.