در این مقاله نحوه جلوگیری از دسترسی هکرها به وب سایت با .htaccess وب سایت خودتان را توضیح خواهیم داد. .htaccess یک فایل مخفی در سرور می باشد که کنترل ورود به سایت را بعهده دارد.با استفاده از مقاله زیر خواهید توانست موارد را بررسی نمایید.
ویرایش فایل .htaccess
برای این مورد میتوانید از فایل .htaccess استفاده نمایید
برای این موضوع داخل cpanel لاگین نمایید
بروی File Manager کلیک نمایید
پوشه اصلی سایت خود را انتخال نمایید
تیک گزینه Show Hidden Files را زده و بروی Go کلیک نمایید.
- بروی .htaccess کلیک کرده و بروی Edit کلیک نمایید.
- درصورتیکه این فایل .htaccess موجود نیست بروی New File کلیک نمایید و فایل را در دایرکتوری /public_html/ ایجاد نمایید.
بلاک براساس آدرس IP
شاید شما لیستی از آدرسها را دارید یا IPهایی هستند که برای اتصال مشکل ایجاد خواهند کرد در این مورد براحتی می توانید اقدام به بلاک کردن این آدرسها بنمایید
بلاک کردن یک آدرس IP
درصورتیکه تنها یک آدرس IP را می خواهید فیلتر نمایید یا می خواهید چند آدرس را در رنج های مختلف بلاک نمایید از روش زیر استفاده نمایید
deny from 123.123.123.123Block a range of IP addresses
بلاک کردن یک رنج IP
برای بلاک کردن یک رنج آدرس مثل 123.123.123.1 – 123.123.123.255 می توانید آخرین اکتت را وارد نمایید مثل 123.123.123 یا می توانید از روش CIDR (Classless Inter-Domain Routing) استفاده نمایید بصورت 123.123.123.1 – 123.123.123.255, با استفاده از ادرس دهی 123.123.123.0/24 برای بلاک کردن رنج 123.123.64.1 – 123.123.127.255 استفاده نمایید و یا از 123.123.123.0/18 برای مسدود کردن 123.123.123.0/24 استفاده نمایید.
پ
بلاک کردن کاربران با
User-Agent string
بعضی از کاربران درخواست های خود را از آدرس های مختلفی ارسال می کنند اما هنوز با استفاده از یک User-Agent درخواست ها را ارسال می کنند
بلاک کردن یک رشته User-Agent
برای بلاک کردن یک کاربر می توانید از RewriteRule استفاده نمایید
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} Baiduspider [NC] RewriteRule .* - [F,L]
همچنین می توانید از روش زیر استفاده نمایید
BrowserMatchNoCase "Baiduspider" bots Order Allow,Deny Allow from ALL Deny from env=bots
بلاک کردن چندین User-Agents
برای این مورد می توانید بصورت زیر موارد را انجام دهید
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(Baiduspider|HTTrack|Yandex).*$ [NC] RewriteRule .* - [F,L]
شما می توانید BrowserMatchNoCaseبصورت زیر این مورد را استفاده نمایید
BrowserMatchNoCase "Baiduspider" bots BrowserMatchNoCase "HTTrack" bots BrowserMatchNoCase "Yandex" bots Order Allow,Deny Allow from ALL Deny from env=bots
بلاک کردن توسط ارجاع دهنده
بلاک کردن یک ارجاع دهنده
برای اینکه یک ارجاع دهنده خاص مثل example.com را بلاک کنید از کد زیر استفاده نمایید
RewriteEngine On RewriteCond %{HTTP_REFERER} example.com [NC] RewriteRule .* - [F]
همچنین می توانید از کد زیر استفاده نمایید
SetEnvIfNoCase Referer "example.com" bad_referer Order Allow,Deny Allow from ALL Deny from env=bad_referer
بلاک کردن چندین ارجاع دهنده
درصورتیکه نیاز به بلاک کردن چندین ارجاع دهنده دارید از کد زیر استفاده نمایید
RewriteEngine On RewriteCond %{HTTP_REFERER} example.com [NC,OR] RewriteCond %{HTTP_REFERER} example.net RewriteRule .* - [F]
همچنین از روش زیر نیز ممکن است
SetEnvIfNoCase Referer "example.com" bad_referer SetEnvIfNoCase Referer "example.net" bad_referer Order Allow,Deny Allow from ALL Deny from env=bad_referer
بلاک کردن موقتی بات ها
در بعضی از اوقات نمی خواهید پیغام 403 رابه کاربران بلاک شده ارسال نمایید . یک مثال خوب از این موضوع زمانی است که سایت شما ترافیک زیادی در روز اغازین زدن یک تخفیف داردو شما نمی خواهید این بات ها مثل گوگل و یاهو اقدام به اجرای مراحل کراول و بازدید از سایت شما بنمایند.کد زیر یک صفحه و پیغام 503 تنظیم خواهد کرد این بدین معناست که موتورهای جستجو در حال حاضر امکان جستجوی محتوا را ندارند و در حال حاضر محتوا بلا ک می باشد .با این پیغام گوگل از این صفحه نگذشته و مجددا بعدا برای بازدید سایت به این سایت باز خواهد گشت.کد زیر تمامی درخواست هایی که کلمات bot, crawl, یا spider را داشته باشند بلاک خواهد کرد. خط بعدی بیان خواهد کرد که هر درخواستی حاوی robots.txt برای چک اجازه داده می شود ولی جواب سایت درحال حاضر در دسترس نیست برای او فرستاده خواهد شد.
ErrorDocument 503 "Site temporarily disabled for crawling" RewriteEngine On RewriteCond %{HTTP_USER_AGENT} ^.*(bot|crawl|spider).*$ [NC] RewriteCond %{REQUEST_URI} !^/robots.txt$ RewriteRule .* - [R=503,L]