Turgut K.
İlaydam
Belirli bir IP adresini engelleme
IP adresini engellemek istediğiniz adresle değiştirin ve kodu sitenizin .htaccess dosyasına ekleyin
Belirli bir alan adını engelleme
Belirli bir etki alanını engellemek için sitenizin .htaccess dosyasına aşağıdakileri ekleyin:
IP adresini ve ağ maskesi değerlerini engellemek istediğiniz etki alanıyla eşleşecek şekilde değiştirin.
Birden fazla IP adresini engellemek
Engellemek istediğiniz birden fazla IP adresiniz varsa, hepsini bir kerede reddedebilirsiniz:
Tüm Subnet alt ağılarını engellemek için:
ile başlayan tüm İP adreslerini engeller.
CIDR'ye dayalı IP'yi engellemek
Engellemeye çalıştığınız IP için belirli CIDR'yi biliyorsanız, bu kodu kullanabilirsiniz:
Tüm bu kurallarda olduğu gibi, hedefinize uyacak şekilde düzenleyebilir ve .htaccess'e ekleyebilirsiniz.
IPv6 adreslerini engellemek
IPv6 adresleri her gün daha yaygın olarak kullanılmaktadır. Birini .htaccess ile engellemek istiyorsanız
Hedefe bağlı olarak bu gösterimlerden birini de kullanabilirsiniz misal:
Normal ifadeye dayalı olarak IP'yi engellemek
Bu IP engelleme yöntemi, RewriteCond / RewriteRule yönergeleri aracılığıyla tüm adresleri önceden tanımlanmış bir normal ifadeye göre kontrol eder:
IP adresine göre yönlendirme
Ziyaretçileri IP adresine göre engellemek yerine, başka bir konuma yönlendirebilirsiniz.
Elbette IP'yi hedeflediğinizle eşleşecek şekilde değiştirebilirsiniz. Ardından /index.php dosyasını eşleşen tüm istekleri göndermek için URI ile eşleşecek şekilde düzenleyin. Tekniği açıklamaya yardımcı olacak bir örnek:
Bu yönlendirmeyi kullanmak için IP adresini, istenen sayfayı ve yönlendirme sayfasını düzenlemeniz yeterlidir. Kodu kopyalayıp .htaccess dosyanıza yapıştırın ve sunucunuza yükleyin.
Belirli istek türlerini engellemek
Diyelim ki bazı ziyaretçilerin sitenizdeki bir form aracılığıyla içerik yayınlamasını engellemek istiyorsunuz. Bu, Apache'nin <Limit> kapsayıcısını kullanarak yapılabilir:
Aşağıda, herkes için POST isteklerini reddederken, yalnızca kendi IP adresimizden paylaşılmaya izin vermek istediğimiz ters durumun bir örneği verilmiştir:
Kod:
Deny from 123.123.123.123
IP adresini engellemek istediğiniz adresle değiştirin ve kodu sitenizin .htaccess dosyasına ekleyin
Belirli bir alan adını engelleme
Belirli bir etki alanını engellemek için sitenizin .htaccess dosyasına aşağıdakileri ekleyin:
Kod:
Deny from 123.123.123.123/255.255.255.0
Birden fazla IP adresini engellemek
Engellemek istediğiniz birden fazla IP adresiniz varsa, hepsini bir kerede reddedebilirsiniz:
Kod:
Deny from 111.111.111.111 222.222.222.222 333.333.333.333
Tüm Subnet alt ağılarını engellemek için:
Kod:
Deny from 123.123
ile başlayan tüm İP adreslerini engeller.
CIDR'ye dayalı IP'yi engellemek
Engellemeye çalıştığınız IP için belirli CIDR'yi biliyorsanız, bu kodu kullanabilirsiniz:
Kod:
[/SIZE]
Deny from 123.123.123.0/24
[SIZE=4]
Tüm bu kurallarda olduğu gibi, hedefinize uyacak şekilde düzenleyebilir ve .htaccess'e ekleyebilirsiniz.
IPv6 adreslerini engellemek
IPv6 adresleri her gün daha yaygın olarak kullanılmaktadır. Birini .htaccess ile engellemek istiyorsanız
Kod:
Deny from 2001:0db8:0000:0042:0000:8a2e:0370
Hedefe bağlı olarak bu gösterimlerden birini de kullanabilirsiniz misal:
Kod:
Deny from 2001:0db8:0000:0042
Deny from 2001:0db8:0000:0042:0000/10
Normal ifadeye dayalı olarak IP'yi engellemek
Bu IP engelleme yöntemi, RewriteCond / RewriteRule yönergeleri aracılığıyla tüm adresleri önceden tanımlanmış bir normal ifadeye göre kontrol eder:
Kod:
<IfModule mod_rewrite.c>
RewriteCond %{REMOTE_ADDR} ^214.53.25.(6[4-9]|7[0-9]|8[0-9]|9[0-9])$ [OR]
RewriteCond %{REMOTE_ADDR} ^214.53.25.1([0-1][0-9]|2[0-8])$
RewriteRule .* - [F]
</IfModule>
IP adresine göre yönlendirme
Ziyaretçileri IP adresine göre engellemek yerine, başka bir konuma yönlendirebilirsiniz.
Kod:
mod_rewrite:
<IfModule mod_rewrite.c>
RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111$
RewriteRule .* /index.php [R=301,L]
</IfModule>
Kod:
<IfModule mod_rewrite.c>
RewriteCond %{REMOTE_HOST} 123\.123\.123\.123
RewriteCond %{REQUEST_URI} /requested-page\.html
RewriteRule .* /just-for-you.html [R=301,L]
</IfModule>
Belirli istek türlerini engellemek
Diyelim ki bazı ziyaretçilerin sitenizdeki bir form aracılığıyla içerik yayınlamasını engellemek istiyorsunuz. Bu, Apache'nin <Limit> kapsayıcısını kullanarak yapılabilir:
Kod:
[/SIZE]
<Limit POST>
Order Allow,Deny
Allow from all
Deny from 123.123.123.123
</Limit>
Kod:
<Limit POST>
Order Deny,Allow
Deny from all
Allow from 111.111.111.111
</Limit>