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.