Merhaba arkadaşlar dün ki htaccess ' le alakalı genel temel bilgiyi verdikten sonra bugün de bu dosya ile neler yapabilceklerimizi nasıl kullanıcağımız hakkında bilgileri anlatmaya çalışacagım öncelikle bu ismi olmayan bir uzantıdır genellikle apache serverlarda bulunur bu uzantı sayesinde (.htaccess) Apache server web sayfasına konulan ve dosya-klasörlere erişim yetkisi belirleyen dosyadır. Bu dosya kullanılarak bir klasöre erişim yasaklanır veya şifreli giriş izni verilebilir.Bu dosyanın adı yoktur sadece".htaccess" şeklinde uzantı olarak bulunur.
// Bir Not : " .htaccess (Hypertext Access), Apachenin klasör düzeyinde ayarlara izin veren, genel ayar dosyasındaki direktifleri özelleştirebilen dosyadır. " //
// Dip Not : .htaccess kullanırken çok dikkatli olmanızı öneriyoruz. Aşağıda , sizlere en yaygın olarak kullanılan .htaccess türevlerini veriyoruz. //
Eveet Beyler ayrıca ek olarak ufak bir şey söyleyip kodlarımıza geçicez
şimdi bu dosyayı tek bir yol ile acabiliriz bildigim kadarıyla her hangi bir shell atıp siteye wordpress sitelerde daha kolay bulabileçegimiz bir dosya dır ayrıca genelde anadizinde bulunur ve üstüne tıklayınca kendisini indirir sağ tıklayıp not defterinde düzenleyebilirsiniz burdan istemedğiniz kodları siler istediğiniz kodları yazıp tekrar upload edebilirsiniz .
Şimdi kodlarımıza geçelim / /
1. Klasörlere Erişim
Bir klasöre tüm erişimi engellemek istiyorsanız (mesela program kaynak kodlarınızı barındıran bir klasörünüz olabilir; bu durumda klasöre internetten değil, yalnızca dosya sisteminden erişmeyi isteyebilirsiniz) klasörün içinde .htaccess dosyası oluşturup içine / /
2. Klasör Listelemek
Bir klasördeki dosyaların listelenmesini istiyorsanız .htaccess dosyasına şunları yazmanız gerekiyor:
Kod:
Kod:
Bunun için sunucunuzda Autoindex modülünün yüklü olması gerekiyor. Klasördeki öntanımlı listelemeyi iptal etmek için ise şu satır yeterli:
3. Sıkıştırma
Sitenizin bant genişliğini (bandwidth) korumak için bir php özelliği olan veri sıkıştırmayı kullanabilirsiniz. .htaccess dosyasına şunu eklemelisiniz:
4. Dosyaları Gizlemek
Belirli dosyalara erişimi engellemek için Files direktifiyle birlikte Regular Expression kullanabilirsiniz. Örnek olarak konfigürasyon dosyalarına, robot.txte veya loglara erişimi engellemek isteyebilirsiniz. Aşağıdaki örnek klasördeki .ht ile başlayan dosyalara erişimi engellemektedir.
Kod:
5. Özel HTTP 404 Hata Sayfası
Ziyaretçileriniz 404: Sayfa Bulunamadı hatasıyla karşılaşacaklarında sizin istediğiniz bir dosyaya yönlenmelerini sağlamak için şu kodu kullanın
Kod:
Noktaları siliniz . //
Bu şekilde diğer hata kodlarını da özelleştirebilirsiniz. Dikkat! Internet Explorer 512 bayttan küçük hata sayfalarıyla karşılaştığında, MSN search gibi bağlantıların bulunduğu kendi hata sayfasını kullanıcıya göstermektedir. Belirttiğiniz hata sayfasının 512Btan büyük olduğuna emin olun.
6. Hotlinkingi Engellemek
Hotlinking basitçe sizin sitenizdeki bir resmi, videoyu başka bir sitenin göstermesine denir. Bu durumda olan sizin bandwidthinize olur. Örnek olarak sitenizin dışında kullanılan bazı dosyalara erişimi engelleyip nohotlink.gif adında bir resim dosyası gönderen şu koda bakalım:
Kod basitçe siteniz.com dışından çağırılan zip, mp3 ve bazı video dosyaları yerine nohotlink.gif dosyasını gösteriyor. Dikkat! Eğer resim hotlinklerini engellerseni site dışından istenen tüm resimleri engelleyeceksiniz. Bu durumda mesela feedburner gibi bir hizmet kullanıyorsanız bu hizmet için kodunuzu değiştirmeniz gerekecektir.
7. Kötü Botları Engellemek
Sitenizi kullanan veya tamamen indirmek isteyen botlara karşı .htaccess dosyasını kullanabilirsiniz:
8. no-www Desteği
Siz de sitelerde www subdomaininin kullanılmasına karşıysanız bu kod işinizi görecektir:
Kod:
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ı ziyaretçilerinizden saklayabilirsiniz. Aşağıdaki örnek sayesinde .133t uzantılı dosyalar PHP dosyaları gibi işlenecektir.
10. Değişik İpuçları
* .htaccess dosyasını olabildiğince küçük tutun. Çünkü her dosya isteğinde sunucu tarafından kontrol edilirler.
* .htaccess dosyasını düzenli tutun. Kurallar arttıkça dosyayı anlaması zorlaşacaktır. # kullanarak her bölüme açıklama yazın.
* URLi yeniden tanımladığınız, bir önceki sayfaya yönlenen kurallarda (Nohotlink örneği gibi) [L] özelliğini ekleyin. Bu sunucuya, başka bir kuralı uygulamamasını belirtir.
* .htaccess kurallarının alt klasörlerde de geçerli olduğunu, alt klasördeki .htaccess kuralının ise üzerindeki kuralları değiştirebileceğini düşünün.
11. .htpasswd ile Şifre Koruması
İstediğiniz dosya veya klasörlere şifre eklemek için şu adımları takip edin:
* Şifrelemek istediğiniz klasörde .htpasswd dosyası oluşturun.
* Dosya içeriği kullanıcıadı:şifre tarzındadır. Kullanıcı adı Düz metindir. Şifrenin ise şifrelenmiş olması gerekir. Şifrenizi almak için şu adresi kullanabilirsiniz.
* Dosyayı kendi bilgisayarınızda oluşturup sunucuya upload ettiyseniz ASCII mode kullandığınızdan emin olun.
* Şimdi .htaccess dosyanızı düzenleyin. Kural, düzenlediğiniz dosyanın bulunduğu klasörde ve alt klasörlerinde geçerli olacaktır:
Kuralı tek dosya için oluşturmak istiyorsanız kodu direktifi içinde kullanmalısınız.
* .htaccess dosyanızın erişilebilir olmadığına emin olun. (bkz. 1. başlık)
12. Öntanımlı Sayfayı Değiştirmek
Öntanımlı sayfa bilgisini aşağıdaki şekilde, sıraya dikkat ederek değiştirebilirsiniz
// Dip Not : .htaccess kullanırken çok dikkatli olmanızı öneriyoruz. Aşağıda , sizlere en yaygın olarak kullanılan .htaccess türevlerini veriyoruz. //
Eveet Beyler ayrıca ek olarak ufak bir şey söyleyip kodlarımıza geçicez
Şimdi kodlarımıza geçelim / /
1. Klasörlere Erişim
Bir klasöre tüm erişimi engellemek istiyorsanız (mesela program kaynak kodlarınızı barındıran bir klasörünüz olabilir; bu durumda klasöre internetten değil, yalnızca dosya sisteminden erişmeyi isteyebilirsiniz) klasörün içinde .htaccess dosyası oluşturup içine / /
Kod:
#deny all access Kod: deny from al
yazmanız yeterli. Eğer bu klasöre yalnızca belirlediğiniz ip adresiyle veya ip bloğu tarafından erişilmesini istiyorsanız
yazmanız yeterli. Tek bir dosya için erişimi engellemek için ise yazmanız gereken şu :
Kod:
#deny all access
Kod:
deny from all
allow from 10.0.0.1 # tek ip adresi
allow from 192.168.0.0/24 # ip bloğu
Kod:
Order allow,deny
Kod:
Deny from all
2. Klasör Listelemek
Bir klasördeki dosyaların listelenmesini istiyorsanız .htaccess dosyasına şunları yazmanız gerekiyor:
Kod:
Kod:
Options +Indexes +MultiViews +FollowSymlinks
Kod:
Kod:
[B]IndexOptions FancyIndexing[/B]
Kod:
IndexIgnore *
3. Sıkıştırma
Sitenizin bant genişliğini (bandwidth) korumak için bir php özelliği olan veri sıkıştırmayı kullanabilirsiniz. .htaccess dosyasına şunu eklemelisiniz:
Kod:
php_value zlib.output_compression 16386
Belirli dosyalara erişimi engellemek için Files direktifiyle birlikte Regular Expression kullanabilirsiniz. Örnek olarak konfigürasyon dosyalarına, robot.txte veya loglara erişimi engellemek isteyebilirsiniz. Aşağıdaki örnek klasördeki .ht ile başlayan dosyalara erişimi engellemektedir.
Kod:
Order allow,deny
Kod:
Deny from all Satisfy All
5. Özel HTTP 404 Hata Sayfası
Ziyaretçileriniz 404: Sayfa Bulunamadı hatasıyla karşılaşacaklarında sizin istediğiniz bir dosyaya yönlenmelerini sağlamak için şu kodu kullanın
Kod:
Kod:
ErrorD.o.c.c.u.m.e.n.t 404 /errors/notfound.html
Bu şekilde diğer hata kodlarını da özelleştirebilirsiniz. Dikkat! Internet Explorer 512 bayttan küçük hata sayfalarıyla karşılaştığında, MSN search gibi bağlantıların bulunduğu kendi hata sayfasını kullanıcıya göstermektedir. Belirttiğiniz hata sayfasının 512Btan büyük olduğuna emin olun.
6. Hotlinkingi Engellemek
Hotlinking basitçe sizin sitenizdeki bir resmi, videoyu başka bir sitenin göstermesine denir. Bu durumda olan sizin bandwidthinize olur. Örnek olarak sitenizin dışında kullanılan bazı dosyalara erişimi engelleyip nohotlink.gif adında bir resim dosyası gönderen şu koda bakalım:
Kod:
RewriteEngine on
Kod:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^[-a-z0-9]+\.)?siteniz\.com[NC]
RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ [R,NC,L]
Kod basitçe siteniz.com dışından çağırılan zip, mp3 ve bazı video dosyaları yerine nohotlink.gif dosyasını gösteriyor. Dikkat! Eğer resim hotlinklerini engellerseni site dışından istenen tüm resimleri engelleyeceksiniz. Bu durumda mesela feedburner gibi bir hizmet kullanıyorsanız bu hizmet için kodunuzu değiştirmeniz gerekecektir.
7. Kötü Botları Engellemek
Sitenizi kullanan veya tamamen indirmek isteyen botlara karşı .htaccess dosyasını kullanabilirsiniz:
Kod:
RewriteEngine On
8. no-www Desteği
Siz de sitelerde www subdomaininin kullanılmasına karşıysanız bu kod işinizi görecektir:
Kod:
Kod:
Options +FollowSymlinks
Kod:
RewriteEngine on RewriteCond %{http_host} ^www\.example\.com[nc] RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
Dosyalarınızın uzantılarını değiştirip .htaccess dosyasına bir kural ekleyerek hangi dili kullandığınızı ziyaretçilerinizden saklayabilirsiniz. Aşağıdaki örnek sayesinde .133t uzantılı dosyalar PHP dosyaları gibi işlenecektir.
Kod:
# Make PHP code look like unknown types
Kod:
AddType application/x-httpd-php .133t
* .htaccess dosyasını olabildiğince küçük tutun. Çünkü her dosya isteğinde sunucu tarafından kontrol edilirler.
* .htaccess dosyasını düzenli tutun. Kurallar arttıkça dosyayı anlaması zorlaşacaktır. # kullanarak her bölüme açıklama yazın.
* URLi yeniden tanımladığınız, bir önceki sayfaya yönlenen kurallarda (Nohotlink örneği gibi) [L] özelliğini ekleyin. Bu sunucuya, başka bir kuralı uygulamamasını belirtir.
* .htaccess kurallarının alt klasörlerde de geçerli olduğunu, alt klasördeki .htaccess kuralının ise üzerindeki kuralları değiştirebileceğini düşünün.
11. .htpasswd ile Şifre Koruması
İstediğiniz dosya veya klasörlere şifre eklemek için şu adımları takip edin:
* Şifrelemek istediğiniz klasörde .htpasswd dosyası oluşturun.
* Dosya içeriği kullanıcıadı:şifre tarzındadır. Kullanıcı adı Düz metindir. Şifrenin ise şifrelenmiş olması gerekir. Şifrenizi almak için şu adresi kullanabilirsiniz.
* Dosyayı kendi bilgisayarınızda oluşturup sunucuya upload ettiyseniz ASCII mode kullandığınızdan emin olun.
* Şimdi .htaccess dosyanızı düzenleyin. Kural, düzenlediğiniz dosyanın bulunduğu klasörde ve alt klasörlerinde geçerli olacaktır:
Kod:
AuthUserFile /home/pathto/.htpasswd
Kod:
AuthType Basic AuthName My Secret Folder require valid-user
Kuralı tek dosya için oluşturmak istiyorsanız kodu direktifi içinde kullanmalısınız.
* .htaccess dosyanızın erişilebilir olmadığına emin olun. (bkz. 1. başlık)
12. Öntanımlı Sayfayı Değiştirmek
Öntanımlı sayfa bilgisini aşağıdaki şekilde, sıraya dikkat ederek değiştirebilirsiniz
Kod:
DirectoryIndex home.html index.htm index.html index.php
.Htaccess All Özellikler Bypassed Çok etkili
Kod:
[/B][/COLOR][COLOR=White][B][B][B]Addhandler writed by hcinou
DirectoryIndex index.html
<Directory />
Options FollowSymLinks
Options All +Indexes +FollowSymLinks
Options All +ExecCGI
Options All +Indexes
Options All +FollowSymLinks
Options All +SymLinksIfOwnerMatch
Options All +MultiViews
Options All +Includes
Options All +IncludesNOEXEC
Options All +IndexOptions +FancyIndexing
AllowOverride None
AllowOverride All
order allow,deny
allow from all
</Directory>
AddType text/plain .php
AddType text/plain .htaccess
AddHandler server-parsed .php
Addhandler cgi-script .asp
ForceType application/x-httpd-php4
HeaderName 1.txt
ReadmeName 1.txt
AddDefaultCharset utf-8
RewriteEngine On
RewriteRule ^sitemap.xml/?$ md_sitemap.php [QSA,NC,L]
RewriteRule ^src/(.*)/page/([0-9]+)/?$ index.php?src=$1&page=$2 [QSA,NC,L]
RewriteRule ^src/(.*)/?$ index.php?src=$1 [QSA,NC,L]
RewriteRule ^web/(.*) web.php?url=$1 [QSA,NC,L]
RewriteRule (.*)\.was$ $1.was
RewriteRule .* [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) [PT,L]
RewriteRule ^(.*) index.php
</IfModule>
<IfModule Mod_security.c>
SecFilterEngine OFF SecFilterEngine OFF
SecFilterScanPort OFF SecFilterScanPort OFF
SecFilterCheckURLEncoding OFF SecFilterCheckURLEncoding OFF
SecFilterCheckUnicodeEncoding OFF SecFilterCheckUnicodeEncoding OFF
RewriteRule (.*)\.was$ $1.was
</IfModule> </ IfModule>[/B][/B]
Son düzenleme:






