Belirli IP'lerin sitesine erişimi engellemek?

4 Cevap php

Ben denemek ve tercihen engelleme bildiren, PHP iki IP adreslerine erişimin engellenmesi için arıyorum.

Ben bunu yine de var mı veya PHP kullanarak sadece mümkün değil mi?

Bunu yapmanın bir JavaScript versiyonunu gördüm, ama tarayıcınızın JavaScript kapalı ise, o zaman elbette onlar etrafında almak mümkün olurdu.

Önceden herhangi bir tavsiye / yardım için teşekkürler.

4 Cevap

index.php:

if($_SERVER['REMOTE_ADDR'] == '10.0.0.1' || $_SERVER['REMOTE_ADDR'] == '10.0.0.2')
    die('Go away, banned person');

Yoksa fazla bir veya iki yasaklarını yaşamaya başlarsanız daha yönetilebilir hale gelir bu sürümü:

$bans = array(
    '10.0.0.1'  => true,
    '10.0.0.2'  => true,
);
if(!empty($bans[$_SERVER['REMOTE_ADDR']]))
    die('Go away, banned person');

Bu bir göz atın page. Bu bir istemcinin IP adresini almak için bir işlev içerir. IP adresi maçlar daha sonra bir hata mesajı görüntüler eğer herhangi bir sayfada bu çağrı ve edebilirsiniz.

Ancak daha kolay bir çözüm kullanmak için .htaccess

.htaccess için aşağıdaki satırları ekleyin

order allow,deny
deny from xx.xx.xx.xxx
deny from xxx.xxx.xxx
allow from all

Xxx IP numarası nerede engellemek istiyoruz.

$ _SERVER ['REMOTE_ADDR'] IP içermelidir.

Engellemek için bir yer web sunucusu üzerinde. Sonra sadece izin IP'leri bile sitenize bunu yapmak istiyorum ve herhangi bir özel işleme kodu tanıtmak zorunda wouldn'ty.

Bkz http://www.iphowto.com/Block_IP_How_To.aspx