WordPress Kullanıcılarına .htaccess İpuçları
WordPress veya herhangi bir içerik yönetim sistemi kullanıyor olmanız günün birinde kod satırlarıyla boğuşmayacağınız anlamına gelmiyor. WordPress kullanıcılarının büyük bir kısmı web sayfalarını özgünleştirmek için giriş seviyesinde olsa da kodlama öğreniyor. Tabii kodlama öğrenmeleri güzel. Peki ya harcadıkları eforlara değiyor mu? Kısayolları gözden kaçırıyor olamazlar mı?
Bu makalemizde .htaccess‘in gücüyle tanışacağız. WordPress kullanıcılarının birçoğu kalıcı bağlantılarını düzenlemek için .htaccess’e ihtiyaç duysa da bu küçük dosya çok daha fazlasını yapabiliyor. Özellikle söz konusu performans ve güvenlik olunca.
WordPress kullanıcıları için .htaccess ipuçları
Herhangi bir işlem yapmadan önce hali hazırda işleyen .htaccess dosyanızı yedekleyin. Yok mu? O zaman FTP üzerinden yeni bir tane oluşturun.
Windows ortamında bir dosyayı .htaccess şeklinde isimlendirmekte sorunlar yaşayabilirsiniz. O yüzden sıradan bir .txt dosyanızı FTP’ye attıktan sonra ismini .htaccess olarak değiştirerek bu işlemi gerçekleştirebilirsiniz.
Hazırsanız yavaş yavaş ipuçları üzerine konuşmaya başlayabiliriz.
Yönetim panelinizi (wp-admin) .htaccess ile korumaya alın
Birkaç satır değişiklik ile .htaccess içerisinde bulunduğu dizini IP tabanlı korumaya alabilir. Öncelikli olarak yapmanız gerekenler şöyle.
- FTP’den wp-admin klasörüne gidin.
- Bu dizinde .htaccess isimli bir dosya oluşturun.
- Bu dosyaya aşağıdaki kodları ekleyin.
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Güvenlik Duvarı" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from xx.xxx.xxx.xx </LIMIT>
Bu kısımdaki allow from satırına panele erişmesini istediğiniz kişilerin IP adresini yazarak güvenliği geçmesini istediğiniz kullanıcıları belirtebilirsiniz. Birden fazla IP adresi tanımlamak isterseniz de herbir IP’yi ayrı satırda yazmanız yeterli olacaktır. Örnekleyecek olursak;
allow from xx.xxx.xxx.xx allow from xx.xxx.xxx.xx allow from xx.xxx.xxx.xx allow from xx.xxx.xxx.xx
.htaccess ile dizin güvenliği bu kadar basit.
Yönetim panelinizi .htaccess ile şifreleyin
En geçerli yöntemlerden biri de dizine şifre atamak. Yeni bir şifre oluşturmak için htpasswd generator isimli web uygulamasını kullanabilirsiniz. Buradan oluşturacağınız kullanıcı adı ve şifre MD5 ile tekrar şifrelenecektir. Çıktıyı kopyalayıp bir .txt dosyasına kaydedin. Bu dosyayı da wp-admin içerisine upload edip adını .htpasswd olarak değiştirin.
Daha sonra aynı dizindeki .htaccess dosyasını açıp aşağıdaki eklemeyi yapın.
AuthType Basic AuthName "Yetkiniz yok" AuthUserFile /SIZIN DİZİNİNİZ/httpdocs/wp-admin/.htpasswd <Limit GET> require valid-user </Limit>
Böylece wp-admin’e girmeye çalışan kişi kullanıcı adı ve şifreyi geçmek zorunda kalır.
.htaccess ile dizinlere gözatılmasına izin vermeyin
Sadece WordPress için değil, her türden web sitesi için en büyük tehditlerden biri de dizinlerin görüntülenebilir olması. Örneğin siteadi.com/admin diye bir adrese gittiğimizde karşımıza dizinde bulunan tüm dosyalar dökülürse her türden güvenlik açığına göz yummuş oluruz.
Bunun çözümü ise içerisinde index,main veya default gibi ana ekranlar bulunmayan dizinlerde .htaccess ile sınırlama yapmak. Eklemeniz gereken kod sadece 1 satır.
Options -Indexes
Bu kadar.
WordPress’te wp-config.php dosyasını .htaccess ile korumaya alın
WordPress dosyalarının arasındaki en önemli dosya wp-config. Veritabanına bağlanmanızı sağlayan giriş bilgilerini barındıran bu dosya sıkı bir şekilde korulmalı. Merak etmeyin. Sadece .htaccess ile bu işlemi yapabilirsiniz.
<files wp-config.php> order allow,deny deny from all </files>
Böylece tüm kullanıcıların wp.config erişimini engelledik.
301 hatalarına .htaccess ile yön verin
Kırık bağlantıları doğru şekilde yönlendirmek hem SEO için hem de kullanıcı memnuniyeti için çok önemli. Eğer hızlı bir şekilde bir URL’i başka bir URL’e yönlendirmek istiyorsanız .htaccess bu konuda size yardımcı olabilmekte. Aşağıdaki kod satırını .htaccess’e eklemeniz yeterli.
Redirect 301 /kategori/photoshop/ https://www.adobewordpress.com/kategori/ps/
Soldaki eski link, sağdaki ise yenisi.
Şüpheli IP adreslerini sitenizden uzak tutun
Bir IP adresi saldırı niteliğinde işlem mi yapıyor? Çözüm erişimini engellemek. İşte burada bile devreye .htaccess giriyor. Aşağıdaki kodları eklemeniz yeterli.
<Limit GET POST> order allow,deny deny from xx.xxx.xxx.xx allow from all </Limit>
Böylece o kullanıcı bir daha sitenize erişmeye çalıştığında “yetkiniz yok” uyarısı alacak.
Resimlerinizin çalınmasını engelleyin
Facebook sayfamıza gelen bir takipçimizin mesajıyla devam edelim.
Bir web sayfası makalelerimi kaynak göstermeden yayınlıyor. Bu işlemi yaparken de benim görsellerimi kendi sunucusuna upload bile etmeden kullanıyor. Ne yapabilirim?
Bu tip içerik hırsızları sadece emeğinizi değil, yayınladıkları görsel boyutlarına göre bant genişliğinizi de çalar. Bu yüzden sizin sunucunuzdan çağrılan tüm içerikleri o URL’e engelleyebilirsiniz. Biz Adobewordpress olarak izinsiz yayın yapan ve görsellerimizi paylaşan web sayfalarında şu resmi yayınlamaktayız.
Gelelim çözüm yoluna.
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?içerikhırsızı.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?diğerhırsızsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
Böylece içerik hırsızları sizin görsellerinizi yayınlayamaz. Peki sizde Adobewordpress gibi kural dışı yayın olduğunu belirten bir başka resim göstermek ister misiniz?
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?içerikhırsızı.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?diğerhırsızsite.com [NC] RewriteRule .*\.(jpe?g|gif|bmp|png)$ https://www.adobewordpress.com/kuraldisi-yayin.png [L]
Bu kadar.
Son olarak .htaccess’in güvenliğini de .htaccess ile sağlamalı
Gördüğünüz gibi .htaccess dosyası ile yapılabilecek şeyler çok fazla. Peki ya bu dosyanın kontrolü hackerların eline geçerse? Onun da çözümü .htaccess ile mevcut.
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
Yukarıdaki kodu .htaccess’e ekleyerek bu dosyaya dışarıdan erişimi engellemiş olursunuz.
WordPress ve .htaccess ipuçları üzerine
Umarız bütün bu .htaccess ipuçları işinize yaramıştır. Unutmayın, yüzlerce satır kod yazmadan önce güvenlik ve performans çözümlerini .htaccess’de aramak size zaman kazandırabilir.
Bu makalemiz burada son buluyor.
İyi çalışmalar.