Bloquear IP con .htaccess
Para bloquear acceso por IP desde .htaccess debemos ingresar el siguiente código:
order allow,deny deny from 10.10.10.10 deny from 192.168.0. deny from all
Las líneas anteriores le indican al servidor de apache que prohíba el acceso de las IP mencionadas.
La segunda IP solo tiene 3 numeros, no es una error, con ello le diremos a apache que bloquee todo el rango de IP de la 192.168.0.1 a la 192.168.0.255.
Bloquear todas las IP menos la tuya
Supongamos que tenemos una web en la que solo queremos que accedan ciertas IP, un panel de gestión, una web administrativa. etc etc..
order allow,deny allow from 10.10.10.10 deny from all
Donde la IP 10.10.10.10 hay que reemplazarla por su IP, podemos establecer una rango como en el ejemplo anterior.
order allow,deny allow from 10.10.10. deny from all
Esto bloqueará todas las IP menos el rango 10.10.10.* donde * es cualquier número entre 0 y 256
Bloquear bots por el user agent
Es muy difícil, además de extenso bloquear bots, mediantes ip, así que podemos utilizar el user agent
RewriteCond %{QUERY_STRING} . RewriteCond %{HTTP_USER_AGENT} 11A465|Ahrefs|ArchiveBot|AspiegelBot|Baiduspider|bingbot|BLEXBot|Bytespider|CCBot|Curebot|Daum|Detectify|DotBot|Grapeshot|heritrix|Kinza|LieBaoFast|Linguee|LMY47V|MauiBot|Mb2345Browser|MegaIndex|MicroMessenger|MJ12bot|MQQBrowser|PageFreezer|PiplBot|Riddler|Screaming.Frog|Search365bot|SearchBlox|Seekport|SemanticScholarBot|SemrushBot|SEOkicks|serpstatbot|Siteimprove.com|Sogou.web.spider|trendictionbot|TurnitinBot|UCBrowser|weborama-fetcher|Vagabondo|VelenPublicWebCrawler|YandexBot|YisouSpider [NC] RewriteRule ^.* - [F,L]