Forum Gündemi:


Konu Başlığı : .htaccess ile İP engelleme nasıl yapılır?

*
Bu konu; tarihinde açılmış olup, 0 defa yorumlanmıştır.
Konu Sahibi : Webci
Konuyu Değerlendir
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
Çevrimdışı
Üye
*
116
mesajlar
95
konular
1
(Ticaret Puanı: )
May 2019
(Kayıt Tarihi)
#1
03-13-2020, 03:54 PM
Merhaba Arkadaşlar

Sitenize yapılan saldırıları sunucuların güvenlik sistemleri engellesede bazen ip bloklamak isteyebiliyoruz bunun için;

Belirli bir IP adresini engelleme

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

I
P 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:

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:
Deny from 123.123.123.0/24



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.


mod_rewrite:


Kod:
<IfModule mod_rewrite.c>
    RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111$
    RewriteRule .* /index.php [R=301,L]
</IfModule>


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:



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>


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:


Kod:
<Limit POST>
    Order Allow,Deny
    Allow from all
    Deny from 123.123.123.123
</Limit>


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:
<Limit POST>
    Order Deny,Allow
    Deny from all
    Allow from 111.111.111.111
</Limit>
Boss is coming!  Cool


Foruma Git:


Görüntüleyenler: 2 Ziyaretçi