adult, porn, free porn

htaccess Kullan?m? ve ?puçlar?

.htaccess dosyas?nda birkaç de?i?iklik yaparak Apache üzerindeki sitenizde gizli klasörler olu?turabilece?inizi, hotlinking’i engelleyebilece?inizi, hatta zararl? bot’lardan korunabilece?inizi biliyor muydunuz? Bu yaz? Apache .htaccess tweaking tutorial makalesinin Türkçe çevirisi olup baz? eklemeler ve de?i?iklikler içerebilir.
Not: .htaccess (Hypertext Access), Apache’nin klasör düzeyinde ayarlara izin veren, genel ayar dosyas?ndaki direktifleri özelle?tirebilen dosyad?r.

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

#deny all access
deny from all

yazman?z yeterli. E?er bu klasöre yaln?zca belirledi?iniz ip adresiyle veya ip blo?u taraf?ndan eri?ilmesini istiyorsan?z

#deny all access
deny from all
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 için eri?imi engellemek için ise yazman?z gereken ?u:

Order allow,deny
Deny from all

2. Klasör Listelemek

Bir klasördeki dosyalar?n listelenmesini istiyorsan?z .htaccess dosyas?na ?unlar? yazman?z gerekiyor:

Options +Indexes +MultiViews +FollowSymlinks

IndexOptions FancyIndexing

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:

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:

php_value zlib.output_compression 16386

4. Dosyalar? Gizlemek

Belirli dosyalara eri?imi engellemek için Files direktifiyle birlikte Regular Expression kullanabilirsiniz. Örnek olarak konfigürasyon dosyalar?na, robot.txt’e veya log’lara eri?imi engellemek isteyebilirsiniz. A?a??daki örnek klasördeki .ht ile ba?layan dosyalara eri?imi engellemektedir.

Order allow,deny
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:

ErrorDocument 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 512B’tan büyük oldu?una emin olun.

6. Hotlinking’i Engellemek

Hotlinking basitçe sizin sitenizdeki bir resmi, videoyu ba?ka bir sitenin göstermesine denir. Bu durumda olan sizin bandwidth’inize 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:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^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 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 hotlink’lerini engellerseniz 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ü Bot’lar? Engellemek

Sitenizi kullanan veya tamamen indirmek isteyen bot’lara kar?? .htaccess dosyas?n? kullanabilirsiniz:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule .* - [F]

8. no-www Deste?i

Siz de sitelerde www subdomain’inin kullan?lmas?na kar??ysan?z bu kod i?inizi görecektir:


Options +FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^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? ziyaretçilerinizden saklayabilirsiniz. A?a??daki örnek sayesinde .133t uzant?l? dosyalar PHP dosyalar? gibi i?lenecektir.

 

# Make PHP code look like unknown types
AddType application/x-httpd-php .133t

 

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.
* URL’i 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:

 

AuthUserFile /home/pathto/.htpasswd
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:

 

DirectoryIndex home.html index.htm index.html index.php

Post a Comment

You must be logged in to post a comment.