[align=center].htacess Hakkında Tum Bilgiler[/align]
.htaccess Kullanımı
.htaccess dosyasında birkac değişiklik yaparak Apache uzerindeki sitenizde gizli klasorler oluşturabileceğinizi, hotlinking’i engelleyebileceğinizi, hatta zararlı bot’lardan korunabileceğinizi biliyor muydunuz? Bu yazı Apache .htaccess tweaking tutorial makalesinin Turkce cevirisi olup Acık Bilgi sitesinden alınmıştır. Bazı eklemeler ve değişiklikler icerebilir.
Not: .htaccess (Hypertext Access), Apache’nin klasor duzeyinde ayarlara izin veren, genel ayar dosyasındaki direktifleri ozelleştirebilen dosyadır.
1. Klasorlere Erişim
Bir klasore tum erişimi engellemek istiyorsanız (mesela program kaynak kodlarınızı barındıran bir klasorunuz olabilir; bu durumda klasore internetten değil, yalnızca dosya sisteminden erişmeyi isteyebilirsiniz) klasorun icinde .htaccess dosyası oluşturup icine
yazmanız yeterli. Eğer bu klasore yalnızca belirlediğiniz ip adresiyle veya ip bloğu tarafından erişilmesini istiyorsanız
Kod: deny from all #deny all access allow from 10.0.0.1 # tek ip adresi allow from 192.168.0.0/24 # ip bloğu yazmanız yeterli. Tek bir dosya icin erişimi engellemek icin ise yazmanız gereken şu:
Kod: Order allow,deny Deny from all 2. Klasor Listelemek
Bir klasordeki dosyaların listelenmesini istiyorsanız .htaccess dosyasına şunları yazmanız gerekiyor:
Kod: Options +Indexes +MultiViews +FollowSymlinks IndexOptions FancyIndexing Bunun icin sunucunuzda autoindex modulunun yuklu olması gerekiyor. Klasordeki ontanımlı listelemeyi iptal etmek icin ise şu satır yeterli:
Kod: IndexIgnore * 3. Sıkıştırma
Sitenizin bant genişliğini (bandwidth) korumak icin bir php ozelliği olan veri sıkıştırmayı kullanabilirsiniz. .htaccess dosyasına şunu eklemelisiniz:
Kod: php_value zlib.output_compression 16386 4. Dosyaları Gizlemek
Belirli dosyalara erişimi engellemek icin Files direktifiyle birlikte Regular Expression kullanabilirsiniz. Ornek olarak konfigurasyon dosyalarına, robot.txt’e veya log’lara erişimi engellemek isteyebilirsiniz. Aşağıdaki ornek klasordeki .ht ile başlayan dosyalara erişimi engellemektedir.
Kod: Order allow,deny Deny from all Satisfy All
5. Ozel HTTP 404 Hata Sayfası
Ziyaretcileriniz “404: Sayfa Bulunamadı” hatasıyla karşılaşacaklarında sizin istediğiniz bir dosyaya yonlenmelerini sağlamak icin şu kodu kullanın:
Kod: ErrorDocument 404 /errors/notfound.html Bu şekilde diğer hata kodlarını da ozelleştirebilirsiniz. Dikkat! Internet Explorer 512 bayttan kucuk hata sayfalarıyla karşılaştığında, MSN search gibi bağlantıların bulunduğu kendi hata sayfasını kullanıcıya gostermektedir. Belirttiğiniz hata sayfasının 512B’tan buyuk olduğuna emin olun.
6. Hotlinking’i Engellemek
Hotlinking basitce sizin sitenizdeki bir resmi, videoyu başka bir sitenin gostermesine denir. Bu durumda olan sizin bandwidth’inize olur. Ornek olarak sitenizin dışında kullanılan bazı dosyalara erişimi engelleyip nohotlink.gif adında bir resim dosyası gonderen şu koda bakalım:
Kod: RewriteEngine on RewriteCond % !^$ RewriteCond % !^http://([-a-z0-9]+.)?siteniz.com[NC] RewriteRule .*.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.siteniz.com/img/nohotlink.gif [R,NC,L]
Kod basitce siteniz.com dışından cağırılan zip, mp3 ve bazı video dosyaları yerine nohotlink.gif dosyasını gosteriyor. Dikkat! Eğer resim hotlink’lerini engellerseniz site dışından istenen tum resimleri engelleyeceksiniz. Bu durumda mesela feedburner gibi bir hizmet kullanıyorsanız bu hizmet icin kodunuzu değiştirmeniz gerekecektir.
7. Kotu Bot’ları Engellemek
Sitenizi kullanan veya tamamen indirmek isteyen bot’lara karşı .htaccess dosyasını kullanabilirsiniz:
Kod: RewriteEngine On RewriteCond % ^BlackWidow [OR] RewriteCond % ^Bot mailto:[email protected] [OR] RewriteCond % ^ChinaClaw [OR] RewriteCond % ^Custo [OR] RewriteCond % ^DISCo [OR] RewriteCond % ^Download Demon [OR] RewriteCond % ^eCatch [OR] RewriteCond % ^EirGrabber [OR] RewriteCond % ^EmailSiphon [OR] RewriteCond % ^EmailWolf [OR] RewriteCond % ^Express WebPictures [OR] RewriteCond % ^ExtractorPro [OR] RewriteCond % ^EyeNetIE [OR] RewriteCond % ^FlashGet [OR] RewriteCond % ^GetRight [OR] RewriteCond % ^GetWeb! [OR] RewriteCond % ^Go!Zilla [OR] RewriteCond % ^Go-Ahead-Got-It [OR] RewriteCond % ^GrabNet [OR] RewriteCond % ^Grafula [OR] RewriteCond % ^HMView [OR] RewriteCond % HTTrack [NC,OR] RewriteCond % ^Image Stripper [OR] RewriteCond % ^Image Sucker [OR] RewriteCond % Indy Library [NC,OR] RewriteCond % ^InterGET [OR] RewriteCond % ^Internet Ninja [OR] RewriteCond % ^JetCar [OR] RewriteCond % ^JOC Web Spider [OR] RewriteCond % ^larbin [OR] RewriteCond % ^LeechFTP [OR] RewriteCond % ^Mass Downloader [OR] RewriteCond % ^MIDown tool [OR] RewriteCond % ^Mister PiX [OR] RewriteCond % ^Navroad [OR] RewriteCond % ^NearSite [OR] RewriteCond % ^NetAnts [OR] RewriteCond % ^NetSpider [OR] RewriteCond % ^Net Vampire [OR] RewriteCond % ^NetZIP [OR] RewriteCond % ^Octopus [OR] RewriteCond % ^Offline Explorer [OR] RewriteCond % ^Offline Navigator [OR] RewriteCond % ^PageGrabber [OR] RewriteCond % ^Papa Foto [OR] RewriteCond % ^pavuk [OR] RewriteCond % ^pcBrowser [OR] RewriteCond % ^RealDownload [OR] RewriteCond % ^ReGet [OR] RewriteCond % ^SiteSnagger [OR] RewriteCond % ^SmartDownload [OR] RewriteCond % ^SuperBot [OR] RewriteCond % ^SuperHTTP [OR] RewriteCond % ^Surfbot [OR] RewriteCond % ^tAkeOut [OR] RewriteCond % ^Teleport Pro [OR] RewriteCond % ^VoidEYE [OR] RewriteCond % ^Web Image Collector [OR] RewriteCond % ^Web Sucker [OR] RewriteCond % ^WebAuto [OR] RewriteCond % ^WebCopier [OR] RewriteCond % ^WebFetch [OR] RewriteCond % ^WebGo IS [OR] RewriteCond % ^WebLeacher [OR] RewriteCond % ^WebReaper [OR] RewriteCond % ^WebSauger [OR] RewriteCond % ^Website eXtractor [OR] RewriteCond % ^Website Quester [OR] RewriteCond % ^WebStripper [OR] RewriteCond % ^WebWhacker [OR] RewriteCond % ^WebZIP [OR] RewriteCond % ^Wget [OR] RewriteCond % ^Widow [OR] RewriteCond % ^WWWOFFLE [OR] RewriteCond % ^Xaldon WebSpider [OR] RewriteCond % ^Zeus RewriteRule .* - [F]
8. no-www Desteği
Siz de sitelerde www subdomain’inin kullanılmasına karşıysanız bu kod işinizi gorecektir:
Kod: Options +FollowSymlinks RewriteEngine on RewriteCond % ^www.example.com[nc] RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
9. Hangi Dili Kullandığınızı Saklamak
Dosyalarınızın uzantılarını değiştirip .htaccess dosyasına bir kural ekleyerek hangi dili kullandığınızı ziyaretcilerinizden saklayabilirsiniz. Aşağıdaki ornek sayesinde .133t uzantılı dosyalar PHP dosyaları gibi işlenecektir.
Kod: # Make PHP code look like unknown types AddType application/x-httpd-php .133t
10. Değişik İpucları
.htaccess dosyasını olabildiğince kucuk tutun. Cunku her dosya isteğinde sunucu tarafından kontrol edilirler.
.htaccess dosyasını duzenli tutun. Kurallar arttıkca dosyayı anlaması zorlaşacaktır. # kullanarak her bolume acıklama yazın.
URL’i yeniden tanımladığınız, bir onceki sayfaya yonlenen kurallarda (Nohotlink orneği gibi) [L] ozelliğini ekleyin. Bu sunucuya, başka bir kuralı uygulamamasını belirtir.
.htaccess kurallarının alt klasorlerde de gecerli olduğunu, alt klasordeki .htaccess kuralının ise uzerindeki kuralları değiştirebileceğini duşunun.
11. .htpasswd ile Şifre Koruması
İstediğiniz dosya veya klasorlere şifre eklemek icin şu adımları takip edin:
Şifrelemek istediğiniz klasorde .htpasswd dosyası oluşturun.
Dosya iceriği kullanıcıadı:şifre tarzındadır. Kullanıcı adı duz metindir. Şifrenin ise şifrelenmiş olması gerekir. Şifrenizi almak icin şu adresi kullanabilirsiniz.
Dosyayı kendi bilgisayarınızda oluşturup sunucuya upload ettiyseniz ASCII mode kullandığınızdan emin olun.
Şimdi .htaccess dosyanızı duzenleyin. Kural, duzenlediğiniz dosyanın bulunduğu klasorde ve alt klasorlerinde gecerli olacaktır:
Kod: AuthUserFile /home/pathto/.htpasswd AuthType Basic AuthName “My Secret Folder” require valid-user Kuralı tek dosya icin oluşturmak istiyorsanız kodu direktifi icinde kullanmalısınız.
.htaccess dosyanızın erişilebilir olmadığına emin olun. (bkz. 1. başlık)
12. Ontanımlı Sayfayı Değiştirmek
Ontanımlı sayfa bilgisini aşağıdaki şekilde, sıraya dikkat ederek değiştirebilirsiniz:
Kod: DirectoryIndex home.html index.htm index.html index.php
MyBB icin .htacess Hakkında Tum Bilgiler
MyBB0 Mesaj
●27 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Web Tabanlı Uygulamalar - Aplikasyonlar
- MyBB
- MyBB icin .htacess Hakkında Tum Bilgiler
-
20-12-2020, 11:20:06