Blog

Wordpress siteler için htaccess ile güvenlik ve performans sağlamak

Wordpress ile ilgili sürekli çıkan sorunlar ve gelen şikayetlere göre zaman zaman bir çok makale yayınlıyoruz.

Bildiğiniz üzere daha önce Wordpress htaccess ile güvenlik sağlama isimli makalemizde bir kaç güvenlik işlemi yapmıştık. 

Şimdiki yazımızda htaccess ile hem güvenlik hemde performans elde etmek için htaccess içerine eklenebilecek bazı kodları paylaşacağız.

NOT : Eğer bu kodları ekledikten sonra herhangi bir çakışma olur ve siteniz çalışmaz ise çakışan kodları kaldırmanız yeterli olacaktır

Öncelikle FTP ana dizindeki htaccess dosyamızı açıyoruz. Eğer htaccess yok ise .htaccess isimli bir belge oluşturup içerisine aşağıdaki kodları ekleyebilirsiniz

#Referer ddos engelliyoruz
RewriteCond %{QUERY_STRING} ^([0-9]+)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+)(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^([0-9]+\.[0-9])(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)\?([0-9]+\.[0-9])(.*)$ [NC]
RewriteRule ^(.*)$ %{HTTP_REFERER} [L]
RewriteCond %{QUERY_STRING} ^ptrxcz.*$
RewriteCond% {QUERY_STRING}!^Ptrxcz.* $
RewriteRule (.*) - [F]


#XmlRPC güvenliği artırıyoruz
RewriteRule ^xmlrpc\.php$ "http\:\/\/0\.0\.0\.0\/" [R=301,L]

#Belirli spam botları engelliyoruz
RewriteCond %{HTTP:User-Agent}
RewriteCond %{HTTP_USER_AGENT} ^(aesop_com_spiderman|alexibot|backweb|bandit|batchftp|bigfoot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(black.?hole|blackwidow|blowfish|botalot|buddy|builtbottough|bullseye) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cheesebot|cherrypicker|chinaclaw|collector|copier|copyrightcheck) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(cosmos|crescent|curl|custo|da|diibot|disco|dittospyder|dragonfly) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(drip|easydl|ebingbong|ecatch|eirgrabber|emailcollector|emailsiphon) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(emailwolf|erocrawler|exabot|eyenetie|filehound|flashget|flunky) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(frontpage|getright|getweb|go.?zilla|go-ahead-got-it|gotit|grabnet) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(grafula|harvest|hloader|hmview|httplib|httrack|humanlinks|ilsebot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(infonavirobot|infotekies|intelliseek|interget|iria|jennybot|jetcar) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(joc|justview|jyxobot|kenjin|keyword|larbin|leechftp|lexibot|lftp|libweb) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(likse|linkscan|linkwalker|lnspiderguy|lwp|magnet|mag-net|markwatch) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(mata.?hari|memo|microsoft.?url|midown.?tool|miixpc|mirror|missigua) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(mister.?pix|moget|mozilla.?newt|nameprotect|navroad|backdoorbot|nearsite) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(net.?vampire|netants|netcraft|netmechanic|netspider|nextgensearchbot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(attach|nicerspro|nimblecrawler|npbot|octopus|offline.?explorer) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(offline.?navigator|openfind|outfoxbot|pagegrabber|papa|pavuk) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(pcbrowser|php.?version.?tracker|pockey|propowerbot|prowebwalker) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(psbot|pump|queryn|recorder|realdownload|reaper|reget|true_robot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(repomonkey|rma|internetseer|sitesnagger|siphon|slysearch|smartdownload) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(snake|snapbot|snoopy|sogou|spacebison|spankbot|spanner|sqworm|superbot) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(superhttp|surfbot|asterias|suzuran|szukacz|takeout|teleport) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(telesoft|the.?intraformant|thenomad|tighttwatbot|titan|urldispatcher) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(turingos|turnitinbot|urly.?warning|vacuum|vci|voideye|whacker) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(libwww-perl|widow|wisenutbot|wwwoffle|xaldon|xenu|zeus|zyborg|anonymouse) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^web(zip|emaile|enhancer|fetch|go.?is|auto|bandit|clip|copier|master|reaper|sauger|site.?quester|whack) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures).*$ [NC]
RewriteRule . - [F,L]
</IfModule>

#Sunucu cache deniyoruz
<IfModule mod_cache.c>
<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
</IfModule>

#DEFLATE kullanıyoruz
<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css|png|jpg|jpeg)$">
SetOutputFilter DEFLATE
</FilesMatch>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

#GZIP ile sıkıştırıyoruz
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>

# PHP5 ile sıkıştırma deniyoruz
<IfModule mod_php5.c>
php_value zlib.output_compression 16386
</IfModule>

# Bazı zararlı botları engelliyoruz

SetEnvIfNoCase User-Agent "AhrefsBot" bad_bots
SetEnvIfNoCase User-Agent "AITCSRobot" bad_bots
SetEnvIfNoCase User-Agent "Alexibot" bad_bots
SetEnvIfNoCase User-Agent "Arachnophilia" bad_bots
SetEnvIfNoCase User-Agent "archive\.org\_bot" bad_bots
SetEnvIfNoCase User-Agent "ASpider" bad_bots
SetEnvIfNoCase User-Agent "BackDoorBot" bad_bots
SetEnvIfNoCase User-Agent "BSpider" bad_bots
SetEnvIfNoCase User-Agent "CFNetwork" bad_bots
SetEnvIfNoCase User-Agent "CyberPatrol" bad_bots
SetEnvIfNoCase User-Agent "DeuSu" bad_bots
SetEnvIfNoCase User-Agent "DotBot" bad_bots
SetEnvIfNoCase User-Agent "EmailCollector" bad_bots
SetEnvIfNoCase User-Agent "Exabot" bad_bots
SetEnvIfNoCase User-Agent "FeedlyBot" bad_bots
SetEnvIfNoCase User-Agent "Genieo" bad_bots
SetEnvIfNoCase User-Agent "Gluten\ Free\ Crawler" bad_bots
SetEnvIfNoCase User-Agent "GrapeshotCrawler" bad_bots
SetEnvIfNoCase User-Agent "MaxPointCrawler" bad_bots
SetEnvIfNoCase User-Agent "meanpathbot" bad_bots
SetEnvIfNoCase User-Agent "MJ12bot" bad_bots
SetEnvIfNoCase User-Agent "PagesInventory" bad_bots
SetEnvIfNoCase User-Agent "Plukkie" bad_bots
SetEnvIfNoCase User-Agent "Qwantify" bad_bots
SetEnvIfNoCase User-Agent "SemrushBot" bad_bots
SetEnvIfNoCase User-Agent "SentiBot" bad_bots
SetEnvIfNoCase User-Agent "SEOkicks\-Robot" bad_bots
SetEnvIfNoCase User-Agent "SeznamBot" bad_bots
SetEnvIfNoCase User-Agent "spbot" bad_bots
SetEnvIfNoCase User-Agent "WeSEE\_Bot" bad_bots
SetEnvIfNoCase User-Agent "Wget" bad_bots
SetEnvIfNoCase User-Agent "worldwebheritage\.org" bad_bots
SetEnvIfNoCase User-Agent "Xenu\ Link\ Sleuth" bad_bots
SetEnvIfNoCase User-Agent "Yahoo!\ Slurp" bad_bots
SetEnvIfNoCase User-Agent "Zeus" bad_bots
SetEnvIfNoCase User-Agent "facebookexternalhit" bad_bot
SetEnvIfNoCase User-Agent "Twitterbot" bad_bot
SetEnvIfNoCase User-Agent "MetaURI" bad_bot
SetEnvIfNoCase User-Agent "mediawords" bad_bot
SetEnvIfNoCase User-Agent "FlipboardProxy" bad_bot
<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=bad_bots
</Limit>

#injection amaçlı kullanılan bazı dosyaları engelliyoruz
<files wp-config.php>
order allow,deny
deny from all
</files>

<files wp-load.php>
order allow,deny
deny from all
</files>

<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>

Pin It

Yorum ekle


Güvenlik kodu
Yenile