10 Faydalı htaccess Kod Parçacığı ve Hack'leri
Yayınlanan: 2020-09-10.htaccess
, her web yöneticisinin bilmesi ve anlaması gereken bir dosyadır. Temel düzeyinde, sitenizin dizinlerine erişimi kontrol eder. Ancak bu gönderideki snippet'lerin size göstereceği gibi, yapabileceğinizden çok daha fazlası var.
.htaccess
temellerini öğrenmek istiyorsanız, sizi ayağa kaldırmak için ihtiyaç duyacağınız her şeyi oldukça iyi açıklayan .htaccess'e Giriş makalemize göz atmalısınız.
Bu kullanışlı WordPress SQL Sorgu Parçacıklarını veya WordPress'i müşterileriniz için kullanıcı dostu yapan bu parçacıkları da beğenebilirsiniz.
1. Dosyalara ve Dizinlere Erişimi Kontrol Etme
Parola koruması bir şeydir, ancak bazen kullanıcıların belirli bir dosyaya veya dizine erişme seçeneğine sahip olmasını tamamen engellemeniz gerekebilir. Bu genellikle, uygulamaların erişmesi gereken includes
klasörü gibi sistem klasörlerinde olur, ancak hiçbir kullanıcının ayrıcalığa ihtiyacı olmaz.
Bunu yapmak için, bu kodu bir .htaccess
dosyasına yapıştırın ve dizine bırakın:
Ancak bu, siz dahil herkesin erişimini engeller. Kendinize erişim izni vermek için IP adresinizi belirtmeniz gerekir. İşte kod:
xxx.xxx.xxx.xxx
sizin IP'nizdir. Örneğin, son üç basamağı 0/12
ile değiştirirseniz, bu aynı ağ içindeki bir IP aralığını belirleyecek ve böylece sizi izin verilen tüm IP'leri ayrı ayrı listeleme zahmetinden kurtaracaktır.
.htaccess
kendisi de dahil olmak üzere belirli bir dosyaya erişimi engellemek istiyorsanız, bunun yerine aşağıdaki pasajı kullanın:
Benzer şekilde, verilen IP'lere izin vermek istiyorsanız, bunları allow from
ile listeleyin.
Belirli dosya türlerine erişimi engellemek istiyorsanız, bunun yerine şunu kullanın:
2. Dizin Taramasını Devre Dışı Bırakma
Dizin taramasını önlemek için şunu ekleyin:
Ancak, herhangi bir nedenle dizin taramayı etkinleştirmek istiyorsanız, bunu aşağıdaki şekilde değiştirin:
3. Dosyaları Sıkıştırarak Yükleme Sürelerini Hızlandırma
Yalnızca görüntüleri değil, her tür dosyayı sıkıştırabilirsiniz. Örneğin, HTML dosyalarını sıkıştırmak için şunu kullanın:

TEXT dosyalarını sıkıştırmak için şunu kullanın:
Ayrıca JavaScript'i sıkıştırabilir veya tek bir komutla birden çok dosya türüne sıkıştırma ekleyebilirsiniz:
Alternatif olarak, tüm JavaScript, HTML ve CSS dosyalarınızı GZIP ile sıkıştırmak istiyorsanız, şunu kullanabilirsiniz:
4. Sitenizi Hotlinking'e Karşı Koruyun
Resimlerinize hotlink eklenmesini istemiyorsanız, bunu .htaccess
dosyanıza ekleyin:
Sadece etkialaniniz.com'u kendinizinkiyle değiştirin ve hazırsınız.
5. Belirli Bir Alandan Yönlendirilen Ziyaretçileri Engelleme
Kabul etmediğiniz belirli bir alan adından kullanıcılarınız varsa, onları sitenizden yasaklayabilirsiniz. Örneğin, siteniz trafik istemediğiniz bir yerde listeleniyorsa (ör. yetişkin siteleri, siyah şapka siteleri vb.), onlara 403 Yasaklı bir sayfa sunabilirsiniz. mod_rewrite
etkinleştirmeniz gerekir, ancak genellikle açık olduğundan iyi durumda olmalısınız. Bu snippet'i ekleyin:
bannedurl1.com
ve bannedurl2.com
vb. alanları kara listeye almak istediğiniz alan adları ile değiştirmeniz gerekmektedir. Girdiğiniz alan adının büyük/küçük harfe duyarlı olmadığını belirttiği için [NC]
bayrağını kullanmak isteyebilirsiniz. [F]
bayrağı yapılacak eylemi belirtir – bu durumda 403 Yasak hatasını göstermek için. Birden fazla siteyi yasaklamak istiyorsanız, sonuncu hariç her etki alanı için [NC,OR]
işaretini kullanın ve tek bir etki alanını yasaklamak istiyorsanız yalnızca [NC]
işaretini kullanın.
6. Belirli Kullanıcı Aracılarından Gelen İstekleri Engelleme
Günlük dosyalarınız belirli kullanıcı aracılarını (botlar veya örümcekler) gösteriyorsa, .htaccess
birkaç satır ekleyebilir ve sitenize erişimlerini engelleyebilirsiniz:
badbot1
, badbot1
vb. öğelerini günlük dosyalarınızdaki bot adlarıyla değiştirin. Bu, bu tür programları sitenizden uzak tutmalıdır.
7. Dosyaları Önbelleğe Alma
Sitenizin yükleme sürelerini hızlandırmanın başka bir yolu da dosya önbelleğe almaktır. Dosyaları önbelleğe almak için eklemeniz gerekenler:
Bu örnekte listelenen dosya sırasına daha fazla dosya türü ekleyebilir (veya bazılarını kaldırabilirsiniz) – size uygun olanı yapın. Dosyalarınızın önbellekte yaşayacağı süreyi saniye cinsinden belirtmek için max-age
da kullanabilirsiniz.
8. Belirli Dosya Türleri için Önbelleğe Almayı Devre Dışı Bırakma
Belirli dosya türlerini önbelleğe almak istemiyorsanız, bunları önbellek sırasına dahil etmemek daha kolaydır. Ancak bazen dosyalar orada açıkça listelemeseniz bile önbelleğe alınabilir ve bu durumda yalnızca onlar için önbelleğe almayı devre dışı bırakmak isteyebilirsiniz. Çoğu zaman, komut dosyaları gibi dinamik dosyalar için önbelleğe almayı devre dışı bırakmak isteyeceksiniz. İşte nasıl yapılacağı:
Önbelleğe almanın devre dışı bırakılmasını istediğiniz dosyaları aktarmanız yeterlidir, hepsi bu.
9. İndirme Diyalogunu Atlamak
Varsayılan olarak, bir Web sunucusundan dosya indirmeye çalıştığınızda, dosyayı kaydetmek mi yoksa açmak mı istediğinizi soran bir iletişim kutusu alırsınız. Bu diyalog özellikle büyük medya dosyalarında veya PDF'lerde rahatsız edicidir. Sunucunuza yüklediğiniz dosyalar indirilmek üzere ise, kullanıcıları zahmetten kurtarabilir ve doğrudan indirmeye devam edebilirsiniz. .htaccess
içinde ayarlamanız gerekenler:
10. Bir .htaccess
Dosyasını Yeniden Adlandırma
Herhangi bir nedenle, çoğunlukla güvenlikle ilgili, .htaccess
dosyanızı yeniden adlandırmak istiyorsanız, bunu yapmak çok kolaydır. Teoride, bir .htaccess
dosyasını yeniden adlandırmak, sunucunuzda çalışan uygulamalarda sorunlara neden olmamalıdır, ancak dosyayı yeniden adlandırdıktan sonra tesadüfen bu tür sorunları fark ederseniz, onu orijinal adıyla yeniden adlandırmanız yeterlidir.
Ayrıca dosyanın kendisinde veya .htaccess
her yerde girişleri güncellemeniz gerekir; yoksa çok hata alırsınız.
11. Varsayılan Dizin Sayfasını Değiştirme
Dizin sayfanızın varsayılan index.html
, index.php
, index.htm
vb.'den farklı bir şey olmasını istiyorsanız, bunu yapmak çok kolaydır. .htaccess
eklemeniz gerekenler:
mypage.html
dizin olarak kullanmak istediğiniz sayfanın gerçek URL'si ile değiştirin ve işiniz bitti.
12. Güvenli https Bağlantısına Yönlendirme
HTTPS kullanıyorsanız ve kullanıcıları sitenizin güvenli sayfalarına yönlendirmek istiyorsanız şunu kullanın:
13. PHP'de Dosya Yükleme Sınırlarını Kısıtlama, Gönderi Verilerinin Maksimum Boyutu, Maks. Komut Dosyası Yürütme Süresi, vb.
.htaccess
, PHP uygulamalarınızı doğrudan etkileyen bazı değerleri ayarlamanıza olanak tanır. Örneğin, büyük dosyalar nedeniyle barındırma alanınızın bitmemesi için PHP'de yükleme sınırları uygulamak istiyorsanız, şunu kullanın:
Tabii ki, değeri uygun gördüğünüz herhangi bir şeye ayarlayabilirsiniz – bu örnekte 15M (MB) sabit değildir. PHP'ye yüklemek için maksimum gönderi boyutunu da kısıtlayabilirsiniz. Bunu yapmak için şunu ekleyin:
Benzer şekilde, 10M
size uygun herhangi bir değere değiştirebilirsiniz. Komut dosyalarının sonsuza kadar yürütülmesini istemiyorsanız, aşağıdakilerin yardımıyla yürütme sürelerini sınırlayabilirsiniz:
240
, betiğin sonlandırılmadan önceki saniye sayısıdır ve tahmin ettiğiniz gibi herhangi bir değer olabilir. Son olarak, bir betiğin giriş verilerini ayrıştırabileceği süreyi sınırlamak istiyorsanız, şunu kullanın:
Ve size uygun olan herhangi bir değeri saniye cinsinden ayarlayın.
14. Dosya Türlerini Gizleme
Bazen kullanıcıların sitenizdeki dosyaların dosya türlerini bilmesini istemezsiniz. Bu bilgiyi gizlemenin bir yolu, onları gizlemenizdir. Örneğin, tüm dosyalarınızın HTML veya PHP dosyaları gibi görünmesini sağlayabilirsiniz:
.htaccess
ile yapılabilecek daha çok şey var. Örneğin, sitenizin sayfalarının otomatik çevirisini ayarlayabilir veya sunucu saat dilimini ayarlayabilir veya URL'lerden www'yi kaldırabilir veya süslü dizin listelerini vb. kullanabilirsiniz. Her durumda, .htaccess
ile denemelere başlamadan önce, her zaman orijinali yedekleyin. .htaccess
, yani işler planlandığı gibi gitmezse, geri dönmek için çalışan bir kopyanız olur.