نحوه جلوگیری از دسترسی هکرها به وب سایت

در این مقاله نحوه جلوگیری از دسترسی هکرها به وب سایت با  .htaccess  وب سایت خودتان را توضیح خواهیم داد. .htaccess یک فایل مخفی در سرور می باشد که کنترل ورود به سایت را بعهده دارد.با استفاده از مقاله زیر خواهید توانست موارد را بررسی نمایید.

 

ویرایش فایل .htaccess

برای این مورد میتوانید از فایل .htaccess  استفاده نمایید

برای این موضوع داخل cpanel لاگین نمایید

بروی File Manager کلیک نمایید

پوشه اصلی سایت خود را انتخال نمایید

تیک گزینه Show Hidden Files را زده و بروی Go کلیک نمایید.

 

file-manager-hidden-files
  • بروی .htaccess کلیک کرده و بروی Edit کلیک نمایید.
file-manager-htaccess-edit
  •  درصورتیکه این فایل .htaccess موجود نیست بروی New File کلیک نمایید و فایل را در دایرکتوری /public_html/ ایجاد نمایید.
file-manager-htaccess-create
 سپس بروی فایل ساخته شده کلیک کرده و آنرا ویرایش نمایید.

بلاک براساس آدرس 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]