Htaccess, Hypertext Access ve Apache başta olmak üzere çoğu ağ sunucusu tarafından kullanılan web üzerinde ayar değişimleri yapılmasını sağlayan dosyadır.
Bu dosya ile web sitenizin birçok ayarını yapabilirsiniz. Ek olarak bu dosyayı kullanarak sitenizde güvenlik önlemleri alabilirsiniz. Web Sunucusu her zaman eğer dizinde .htaccess dosyası var ilk onu çalıştırır ve orada ki komutlara göre siteyi browser’a aktarır. Yani site tarayıcı tarafından görülmeden önce sunucu .htaccess dosyasında yazdıklarınıza göre siteyi tarayıcıda gösterir.
Makale Başlıkları
Bu dosyayı oluşturmak için herhangi bir yeni metin belgesini dahi kullanabilirsiniz. Önemli olan oluşturduktan sonra içeriğine ne yazdığınızdır. Öncelikle içeriğine neler yazmanız gerektiğini söylemeden nasıl bu dosyayı oluşturabiliriz ona gelelim. Bir kaç yöntem var ;
1- Yöntem: Bilgisayarınızda Yeni Metin Belgesi oluşturun içine htaccess kodlarını girin, üst sekmeden Dosya’ya tıklayıp farklı kaydet deyin orada kayıt türüne “Tüm Dosyalar” deyin. İsimini de “.htaccess” olarak kaydedin. oluşan dosya .htaccess dosyasıdır.
2- Yöntem: Herhangi bir gelişmiş metin editöründe (sublime text , notepad+++ , gibi…) yeni bir sayfa açıp kodları girip farklı kaydet ile oluşturabilirsiniz.
3-Yöntem: Online Htaccess oluşturucuyu kullanabilirsiniz. | https://www.htaccessredirect.net/
Dediğimiz gibi htaccess ile güvenlik önlemleri alınabilir, biraz bu konuya değinmek isterim 🙂
.htaccess dedik güvenlik dedik, peki bu ikisini nasıl bağdaştırdık 🙂 Hemen .htaccess ile ne tür önlemler alınır açıklayayım.
Şimdi Bu özelliklerin birkaçını açıklamak gerekirse 🙂
Permalink Kalıcı bağlantı demektir ve SEO açısından çok önemlidir.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Kodları ile permalink ayarını yapılandırmış olursunuz.
<Files dosyaadi.php>
order allow,deny
deny from all
</Files>
Bu Kodu oluşturduğunuz .htaccess’in içine yazmanız durumunda dosyaadi.php dosyasına dışarıdan gelebilecek müdahaleleri engellemiş olursunuz.
<Limit GET POST>
order allow,deny
deny from 201.091.21.32 (Engellenecek IP Adresi)
allow from all
</Limit>
Bu kod ile siteye girmesini istemediğiniz kişiyi engelleyebilirsiniz. Eğer birden fazla kişiyi engellemek istiyorsanız
<Limit GET POST>
order allow,deny
deny from 201.091.21.32 (Engellenecek IP Adresi)
deny from 201.091.21.32 (Engellenecek IP Adresi2)
deny from 201.091.21.32 (Engellenecek IP Adresi3)
deny from 201.091.21.32 (Engellenecek IP Adresi4)
allow from all
</Limit>
Şeklinde engelleyebilirsiniz.
Genelde bu sıkıntı yaşatabiliyor. Çünkü farz edelim “siteadı.com/dosyalarım” adında bir yer var orada özel dosyalarınız mevcut, Nasıl olsa ana siteden buraya link vermiyorum burası bana özel olsun diyebilirsiniz ama ne yazık ki belli başlı araçlar ile bu “dosyalarım” klasörü belirlenebiliyor, Şimdi orada kişisel hesap bilgileriniz olsa hepsi çalınabilir :/ Bu gibi tatsız durumlar için öyle yerleri listeleme olarak kapatabilirsiniz. Bu sayede o dizine giren kişi hiçbir dosya göremez. bunun için gereken kod;
Options All -Indexes
Bu kodu htaccess’e herhangi bir yere ekleyerek dizin listelemeyi kapatabilirsiniz.
Buna belki şuan gülüyorsunuz ama buda aslında önemlidir. Genelde birçok sunucu htaccess dosyasını okumaya izin vermez yani siteye zarar vermek isteyenler genelde göremez ama biz yine tedbiri elden bırakmayalım. .htaccess dosyamız ile .htaccess dosyalarımız koruyalım ki gereken önlemleri aldığımız htaccess dosyamız gizlenmiş olsun. Gereken kod;
<Files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</Files>
Bu konuda yüzeysel olarak htaccess’den bahsettim sadece 🙂 Detaylı bir şekilde .htaccess güvenlik önlemleri adlı bir konu açıcam o zaman bu konunun altında link veririm. O konuda htaccess ile alınabilecek bütün güvenlik önlemlerini anlatacağım.
SSL sertifikası aldıysanız ve http yerine siteye giren herkesi https olarak yönlendirmek için;
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
Bu kod yeterli olacaktır.
Hiç Ben oluşturmayla filan uğraşamam ya şimdi hazır yok mu işte iki dakika indirerek atak sunucuya diyorsanız genel ayarların olduğunu bu htaccess dosyasını kullanabilirsiniz. 🙂
WordPress İçin Genel Standart Hazır .htaccess dosyası — > WordPress Htaccess Kodları
Merhaba arkadaşlar, bu hatayı bazı kullanıcılar yaşamakta, sebebi bilgisayarın BIOS'da ki SVM ayarından kaynaklanıyor. Bende…
Merhaba arkadaşlar hızlı bir şekilde windows ve diğer işletim sistemlerinde çalışan ve sizi engelli sitelerden…
Merhaba arkadaşlar, PHP kullanarak web sitemizin google'da banlanıp banlanmadığını kontrol edeceğiz. Bu işlemin mantığı google'a…
Merhaba arkadaşlar kısaca phpmailer kütüphanesini kullanarak basit http post isteği ile mail gönderimi yapan bir…
Cron Job içinde dışarıya log dosyası oluşturtmadan wget kullanımı çok kolay, Bildiğiniz üzere her wget…