به عنوان یک توسعه دهنده وب / مدیر سیستم، برخورد با یک سایت هک شده یکی از آزاردهنده ترین بخش های کاره. تا حدودی این طبیعیه ... شما نباید وقت خودتون رو برای اون تلف کنید. بخصوص اینکه ردیابی و از بین بردن هر بردار حمله می تواند بسیار خسته کننده باشد.
اما هنگامی که گوگل شروع به برچسب زدن سایت شما با اخطار "این سایت ممکن است هک شود" میکند لایه دیگری از ناامیدی برات ایجاد میشه.
در چنین شرایطی هکر URL های جدیدی را تحت دامنه شما اختراع کرده که گوگل ایندکس کرده است، و به دلایل مختلف، گوگل ممکنه این صفحات را پس از خزیدن در سایت کاملاً تمیز شده شما، از فهرست خود حذف نکنه، حتی اگر آن URL ها هیچ باشند. یا حتی در فایل sitemap.xml شما وجود نداشته باشند. این مشکل ممکن است با روشی که سایت شما با تغییر مسیر کاربران در هنگام درخواست URL ناموجود انجام میده تشدید شه. مطمئن شوید که سایت شما در این موارد خطای 404 رو برمی گردانه... اما حتی یک خطای 404 ممکنه برای بازدارندگی گوگل از ایندکس شدن URL کافی نباشه، چون ممکنه 404 موقتی باشه
صفحه 410
وضعیت 410 HTTP را ایجادکنید. 410 از یک جهت با 404 تفاوت داره. 404 می گه، "آنچه شما به دنبال آن هستید اینجا نیست." ولی 410 می گه ، "آنچه شما به دنبال آن هستید، اینجا نیست و دیگر نخواهد بود، پس تلاش نکنید!" یا چیزی شبیه این.
برای اینکه ببینید صفحاتی که گوگل از سایت شما ایندکس کرده کدامن میتونی آدرس زیر رو براوزرت وارد کنی
site:yoursitename.com
به جای yoursitename آدرس سایت خودت رو وارد کن. هر صفحهای که دیدی و متوجه شدی مربوط به سایت خودت نیست رو یادداشت کن
یک راه بهتر استفاده از سرچ کنسول گوگله. سرچ کنسول گوگل بهت این امکان رو میده که URL هایی رو که ایندکس کرده ببینی. همینطور اعلانهای مفیدی رو هم ارائه میکنه ، بنابراین اگر Google متوجه شه سایت شما هک شده ، به شما اطلاع میده و حتی (بعضی از) URLهای آسیبدیده را در اختیار شما قرار میده.
حالا به دنبال الگوها در آن URL ها بگرد.
چرا به دنبال الگوها باشیم؟ تا مرحله بعدی آسان تر شه. شما میخواهی فایل htaccess. سایت رو ویرایش کنی (با فرض اینکه از Apache استفاده میکنی، شرمنده من اطلاعاتم برای nginx کافی نیست)، و قوانین بازنویسی رو تنظیم کن تا وضعیت 410 را برای این URL های بد ایجاد کنی.
وقتیکه بررسی کردم، الگویی که متوجه شدم این بود که URL های تحت تأثیر همگی دارای یک رشته پرس و جو هستند و هر رشته پرس و جو با یک کلید شروع می شود که یکی از دو چیز است: یا یک عدد هگزادسیمال 3 رقمی یا یک رشته. SPID. با این مشاهدات در دست، من توانستم کد زیر را برای درج در فایل htaccess بسازم:
# Force remove hacked URLs from Google
RewriteCond %{QUERY_STRING} ^([0-9a-f]{3})=
RewriteRule (.*) – [L,R=410]
RewriteCond %{QUERY_STRING} ^SPID=
RewriteRule (.*) – [L,R=410]
اولین RewriteCond با هر رشته پرس و جو که با یک کلید متشکل از یک عدد هگز 3 رقمی شروع می شه مطابقت داره. دومی با هر رشته پرس و جو که با کلید SPID شروع می شه مطابقت داره. در هر صورت، پاسخ یک وضعیت 410 Gone است و بدون محتوا.
این تغییر را ایجاد کن، سپس از گوگل بخواه که سایتت رو دوباره بررسی کنه.
موفق باشید