WordPress Kullanıcılarına .htaccess İpuçları

htaccess_wordpressWordPress 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.

  1. FTP’den wp-admin klasörüne gidin.
  2. Bu dizinde .htaccess isimli bir dosya oluşturun.
  3. 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.

wordpress-htpasswd

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.

directory-browsing-wordpress

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.

Bu da ilginizi çekebilir  WordPress Tema Geliştiricilerine Özel, Karşınızda Theme-Check!

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/ http://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.

izinsiz yayın

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)$ http://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.



  • SorryForAll1

    htaccess’in güvenliğinin htaccess ile sağlanması ironik olmuş.

  • SpamFree

    htpasswd işlemini yaptım çalıştı. Ama bir sorum var. wp-config’i korumaya almasak erişebilirler mi? benim bildiğim php dosyasını açmaları imkansız. sadece ftpyi hackleyip girerlerse download ederek içini görürler. öyle değil mi? teşekkürler.

  • freetorrent

    htaccess güvenliği dışındakileri yaptım o zaten gizli dosya cpanelden görünürlüğünü kapattım lamerlara fırsat vermeyelim yeter 🙂
    ek olarak wp-content gibi klasörlere boş bir index sayfası atarakta görünürlüğü engellemek mümkün.
    wp-config.php’yi şifrelemeye gerek var mı ? varsa hangi programla yapmak lazım bunu