.htaccess ile İP engelleme nasıl yapılır?

aDm

Moderator
Katılım
29 Mar 2020
Mesajlar
3,256
Tepkime puanı
0
Puanları
36
Takım
KayseriSpor
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:

* * 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]




IP adresine göre yönlendirme
Ziyaretçileri IP adresine göre engellemek yerine, başka bir konuma yönlendirebilirsiniz.

mod_rewrite:


Kod:

* * RewriteCond %{REMOTE_ADDR} ^111\.111\.111\.111$
* * RewriteRule .* /index.php [R=301,L]




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:

* * RewriteCond %{REMOTE_HOST} 123\.123\.123\.123
* * RewriteCond %{REQUEST_URI} /requested-page\.html
* * RewriteRule .* /just-for-you.html [R=301,L]




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 kapsayıcısını kullanarak yapılabilir:


Kod:

* * Order Allow,Deny
* * Allow from all
* * Deny from 123.123.123.123




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:

* * Order Deny,Allow
* * Deny from all
* * Allow from 111.111.111.111
 

Nutella

Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
3,559
Tepkime puanı
23
Puanları
36
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 

Vedat

Forum Üyesi
Katılım
23 Eyl 2021
Mesajlar
3,484
Tepkime puanı
1
Puanları
36
Takım
Kasımpaşa
Teşekkür ediyorum.
 
metal işleme
Üst