Es gibt viele Freunde, die Außenhandels-Websites erstellt haben und den Zugriff auf ihre Websites durch inländische IPs einschränken möchten. Es gibt auch einige Freunde, deren Websites aus verschiedenen Gründen von bestimmten IPs blockiert werden müssen. Die meisten Quell-IPs stammen aus dem Ausland und Sie möchten verhindern, dass ausländische IPs auf die Website zugreifen.

Egal aus welchem ​​Grund, das Blockieren und Blockieren des IP-Zugriffs aus bestimmten Regionen und Ländern wird bei der täglichen Website-Erstellung häufig verwendet. Wenn Sie PHP verwenden, besteht eine relativ einfache Methode darin, den Code zur Ermittlung der IP in der PHP-Datei hinzuzufügen und die IP-Bibliothek zum Vergleich zu verwenden. Wenn die IP innerhalb des eingeschränkten Zugriffsbereichs liegt, verhindern Sie, dass sie weiterhin darauf zugreift.

Wenn es sich bei der Website um Nginx handelt, können Sie das Modul Nginx-ngx_http_geoip_module direkt verwenden. Dieses Modul kann die IP des Landes, der Provinz, der Stadt usw. genau ermitteln und alle Identifizierungen und Blockierungen des Zugriffs werden von Nginx durchgeführt ressourcensparender im Vergleich zu PHP, aber Nginx ist schwieriger zu kompilieren.

Wenn die Website auf einem VPS oder einem unabhängigen Server aufgebaut ist, können Sie die Linux-Firewall direkt verwenden und iptables-Regeln verwenden, um den IP-Zugriff aus bestimmten Ländern und Provinzen zu blockieren. Um Nginx, iptables und andere Konfigurationsprobleme müssen sich WordPress-Nutzer natürlich keine Sorgen machen, denn WordPress verfügt bereits über diverse Plug-Ins, die den IP-Zugriff einschränken.

In diesem Artikel werden vier Methoden zum Blockieren von Websites und zum Blockieren von IP-Zugriffseinstellungen in bestimmten Regionen und Ländern vorgestellt: PHP-Code, Nginx-Modul, iptables-Firewall und WordPress-Plug-in. Wenn Sie während des Website-Erstellungsprozesses immer wieder mit verschiedenen böswilligen Angriffen konfrontiert werden, können Sie die folgenden Methoden ausprobieren:

  1. Fünf Sicherheitstipps für die Verwendung eines kostenlosen VPS-Kontrollfelds – lassen Sie sich nicht von Hackern ausnutzen
  2. WordPress aktiviert die Nginx-Cache-Beschleunigungsmethode fastcgi_cache – Nginx-Konfigurationsbeispiel
  3. Zehn kostenlose CloudFlare-CDN-Beschleunigungstipps, die Sie vielleicht nicht kennen – SSLDOSCache

PS: Aktualisiert am 25. März 2019, In Bezug auf die Sicherheitsprobleme von VPS ignorieren viele Freunde möglicherweise die SSH-Konfiguration des VPS selbst. Hier sind die stärkenden Strategien: VPS-Host- und Server-Sicherheitsschutz: SSH-Modifikationsport , Whitelist hinzufügen, nur Schlüsselanmeldung.

PS: Aktualisiert am 19. März 2020 : Wenn Ihre Website gehackt wurde, können Sie auf die folgenden Methoden zurückgreifen, um das Problem zu lösen: Website-Trojaner- und Server-Hacking-Fehlerbehebungsanalyse – VPS-Host- und Server-verstärkte Sicherheitsmethoden.

1. PHP-Code blockiert bestimmte IP

Der PHP-Code ist relativ einfach. Fügen Sie einfach den folgenden Code in Ihre PHP-Datei ein, um zu verhindern, dass IPs innerhalb eines bestimmten Bereichs auf die Website zugreifen. Je nach Genauigkeit der IP-Bibliothek kann er auf die IP und den Code auf nationaler Ebene abgestimmt sein. Provinz-, Kommunal- und andere Ebenen. Ein Beispiel ist wie folgt (dieser Code kann während der BA verwendet werden):

<?php
/**
 *
 * test.php(屏蔽国家IP)
 *
 */

$verification = '美国';//需要屏蔽国家的IP
function get_client_ip() { 
               $ip = $_SERVER['REMOTE_ADDR'];     
         if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {            
         $ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {             
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {           
         $ip = $_SERVER['HTTP_CLIENT_IP'];       
         }          
         return $ip;    
         }
$ip = get_client_ip();//获取访客IP
$antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//IP数据库来自淘宝。
$address = json_decode($result,true);
//判断访客是否属于美国,是否来自百度,是否来自谷歌
if($address['data']['country'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false){
        sleep(10);//设置一个10秒等待。
        header('HTTP/1.1 503 Service Temporarily Unavailable');
        header('Status: 503 Service Temporarily Unavailable');
        header('Retry-After: 3600000');
        exit;
}


/****** 如果需要阻止某一个省份的IP访问,使用以下代码*********/


<?php
/**
 *
 * test.php(屏蔽地方IP)
 *
 */

$verification = '江西省';//需要屏蔽省份的IP
function get_client_ip() { 
               $ip = $_SERVER['REMOTE_ADDR'];     
         if (isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_FORWARDED_FOR'])) {            
         $ip = $_SERVER['HTTP_X_REAL_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_FORWARDED_FOR'])) {             
         $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];       
         }          
         elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {           
         $ip = $_SERVER['HTTP_CLIENT_IP'];       
         }          
         return $ip;    
         }
$ip = get_client_ip();//获取访客IP
$antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//IP数据库来自淘宝。
$address = json_decode($result,true);
//判断访客是否属于江西省,是否来自百度,是否来自谷歌
if($address['data']['region'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false){
  sleep(99999999);//设置一个999999秒的等待。
  Header("HTTP/1.1 204 No Content");
  exit;
}

2. Nginx-ngx_http_geoip_module-Modul

Download der IP-Bibliothek:

  1. HTTPS://Dev.马Xiumin's.com/Geo IP/legacy/geohlit/

2.1  Zugriff von bestimmten Länder-IPs verbieten

Das Modul ngx_http_geoip_module ermöglicht es Nginx, unterschiedliche Anforderungen basierend auf der IP des Besuchers zu implementieren. Hier verwenden wir das Modul ngx_http_geoip_module, um zu verhindern, dass bestimmte IP-Adressen auf die Website zugreifen.

Die erste besteht darin, ngx_http_geoip_module in Nginx zu kompilieren. Wenn Sie das Pagoda BT-Panel verwenden, können Sie den folgenden Befehl verwenden:

#安装geoip库
yum -y install epel-release
yum -y install geoip-devel


#先查看一下本机的Nginx配置情况
[root@cs ~]# nginx -V
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
built with OpenSSL 1.0.2l  25 May 2017
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-pcre=pcre-8.40 --with-ld-opt=-ljemalloc

#开始下载Nginx,这里用的是1.15.1,你也可以下载其它的版本
wget http://nginx.org/download/nginx-1.15.1.tar.gz
tar -xzvf nginx-1.15.1.tar.gz
cd nginx-1.15.1

#下面的命令只是在上面的Nginx -v得到的配置详情后加上了--with-http_geoip_module,目的是为了保持原来的配置不变同时又增加新的模块

./configure --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/nginx-http-concat --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-pcre=pcre-8.40 --with-ld-opt=-ljemalloc --with-http_geoip_module

#只编译不安装
make

Wenn Sie LNMP-Skript oder Oneinstack verwenden, können Sie hier nachschlagen: Oneinstack. Aktivieren Sie das Modul Nginx-ngx_http_geoip_module. Deaktivieren Sie zuerst Nginx.

Ersetzen Sie dann den neuen Nginx und prüfen Sie, ob das Geoip-Modul geladen wurde. Der Befehl lautet wie folgt:

mv /www/server/nginx/sbin/nginx /www/server/nginx/sbin/nginx-lala.im
cp objs/nginx /www/server/nginx/sbin/nginx
ldd /www/server/nginx/sbin/nginx

Gehen Sie zu Ihrem Pagoda-Panel, klicken Sie auf Nginx, ändern Sie die Konfigurationsdatei und fügen Sie den folgenden Code hinzu:

geoip_country /usr/share/GeoIP/GeoIP.dat;

Die Operation ist wie folgt:

Starten Sie nun Nginx. Sie können der Nginx-Konfiguration der Website Regeln hinzufügen. Sie können beispielsweise einen bestimmten Fehler zurückgeben oder einen direkten IP-Zugriff auf eine andere Seite oder Website aus einem bestimmten Land vornehmen.

#返回403 502 404等错误
location / {
default_type text/html;
charset utf-8;
if ($geoip_country_code = CN) {
return 403;
}
}
#导向另一个网站目录
location / {
default_type text/html;
charset utf-8;
if ($geoip_country_code = CN) {
root /home/www/wzfou.com-cn/;
}
}

Hiermit wird eine Website-Konfiguration hinzugefügt.

Der Endeffekt ist wie folgt:

2.2  IP-Zugriff nur aus bestimmten Ländern zulassen

Die Methode ist die gleiche wie oben. Führen Sie zunächst die IP-Bibliothek in der Nginx-Hauptkonfiguration ein und fügen Sie dann Code hinzu, der alle nationalen IPs blockiert, aber bestimmte nationale IPs in der Nginx-Konfiguration der Website zulässt.

 # 引入IP库
     
  geoip_country /usr/share/GeoIP/GeoIP.dat;
  geoip_city /usr/share/GeoIP/GeoLiteCity.dat;


 map $geoip_country_code $allowed_country {
                default no;
                CN yes;
        }
    
# 在配置中阻止IP
        if ($allowed_country = no) {
                return 403;
        }

3. iptables-Firewall

Machen Sie sich zunächst mit der Verwendung von iptables und ipset vertraut:

1. Iptables enthält mehrere Tabellen, jede Tabelle besteht aus Ketten. Der Standardwert ist die Filtertabelle, die am häufigsten verwendete ist die Filtertabelle und die andere, die am häufigsten verwendet wird, ist die NAT-Tabelle. Im Allgemeinen besteht die IP-Blockierung darin, Regeln zur INPUT-Kette der Filtertabelle hinzuzufügen.

2. Wenn Sie Regeln abgleichen, gleichen Sie diese nacheinander vom Anfang bis zum Ende der Regelliste ab.

3. ipset bietet eine Methode, um diese O(n)-Operation in O(1) umzuwandeln: Fügen Sie die zu verarbeitende IP in einen Satz ein und legen Sie eine iptables-Regel für diesen Satz fest. Wie iptable sind IP-Sets etwas im Linux-Kernel, und der Befehl ipset ist ein Tool, um sie zu bedienen.

iptables erlaubt nur der angegebenen IP den Zugriff auf den angegebenen Port der Maschine. Der Befehl lautet wie folgt:

1、在tcp协议中,禁止所有的ip访问本机的3306端口。

iptables -I INPUT -p tcp –dport 3306 -j DROP

2、允许123.456.789访问本机的3306端口

iptables -I INPUT -s 123.456.789 -p tcp –dport 3306 -j ACCEPT

以此类推…………………………………

封掉一个IP段:
iptables -I INPUT -s 121.0.0.0/8 -j DROP

以上命令的顺序不能错

然后保存iptables
# service iptables save
重启防火墙
#service iptables restart

So löschen, löschen, schließen und speichern Sie iptables-Regeln:

#CentOS 7请停止firewalld并安装iptables-services
systemctl stop firewalld
systemctl mask firewalld

#安装 iptables-services
yum install iptables-services

################
保存 iptables 规则
service iptables save

重启 iptables
service iptables restart

#################
执行清除命令 iptables -F时可能会断开与服务器的连接,如果想清空的话,先执行
/sbin/iptables -P INPUT ACCEPT
然后执行
/sbin/iptables -F

如果关闭防火墙,执行 
/etc/init.d/iptables stop   
或者是 services iptables stop  

#######################
iptables 规则若重启后消失,请用以下方法
步骤1:备份
iptables-save > /etc/iptables.up.rules.bak

步骤2:删除规则
vim /etc/sysconfig/iptables
或 vim /etc/iptables.up.rules

手动删除即可。

步骤3:导入新规则

iptables-restore < /etc/sysconfig/iptables

最后,重启VPS就可以生效了。

3.1  Blockieren Sie den IP-Zugriff aus bestimmten Ländern mit einem Klick

  1. HTTPS://GitHub.com/III und III1/block-IPS-from-countries

Das Prinzip besteht darin, das IP-Segment des angegebenen Landes herunterzuladen, dann das IP-Segment zu den iptables-Regeln hinzuzufügen und den folgenden Befehl direkt auszuführen:

wget https://raw.githubusercontent.com/iiiiiii1/Block-IPs-from-countries/master/block-ips.sh
chmod +x block-ips.sh
./block-ips.sh

Sie werden dann gefragt, ob Sie die IP blockieren oder entsperren möchten.

Nachdem Sie die IP blockiert haben, werden Sie aufgefordert, den Ländercode einzugeben: http://www.ipdeny.com/ipblocks. Geben Sie beispielsweise die IP ein Verbot für die gesamten USA.

Wenn Sie die Blockierung aufheben möchten, führen Sie den Befehl erneut aus und wählen Sie 2.

3.2  Erlauben Sie nur den IP-Zugriff des angegebenen Landes mit einem Klick

Oben haben wir die Ein-Klick-Blockierung des IP-Zugriffs aus einem bestimmten Land implementiert. Viele Menschen möchten jedoch zulassen, dass auf ihre Website nur IP-Adressen aus einem bestimmten Land zugreifen, und den Zugriff für andere Länder verbieten. In diesem Fall können wir Folgendes verwenden Befehl:

wget https://do.wzfou.net/wzfou/block-any.sh
chmod +x block-ips.sh
./block-ips.sh

Der obige Code ermöglicht nur den inländischen IP-Zugriff und schreibt die Regeln in: /etc/rc.d/rc.local. Die iptables-Regeln werden bei jedem Neustart des Systems neu importiert Sie müssen Folgendes bearbeiten: / etc/rc.d/rc.local Löschen Sie den entsprechenden Start-Selbstlaufcode. Der block-any.sh-Code lautet wie folgt:

#! /bin/bash
#判断是否具有root权限
root_need() {
    if [[ $EUID -ne 0 ]]; then
        echo "Error:This script must be run as root!" 1>&2
        exit 1
    fi
}

#检查系统分支及版本(主要是:分支->>版本>>决定命令格式)
check_release() {
    if uname -a | grep el7  ; then
        release="centos7"
    elif uname -a | grep el6 ; then
        release="centos6"
        yum install ipset -y
    elif cat /etc/issue |grep -i ubuntu ; then
        release="ubuntu"
        apt install ipset -y
    fi
}

#安装必要的软件(wget),并下载中国IP网段文件(最后将局域网地址也放进去)
get_china_ip() {
  #安装必要的软件(wget)
  rpm --help >/dev/null 2>&1 && rpm -qa |grep wget >/dev/null 2>&1 ||yum install -y wget ipset >/dev/null 2>&1 
  dpkg --help >/dev/null 2>&1 && dpkg -l |grep wget >/dev/null 2>&1 ||apt-get install wget ipset -y >/dev/null 2>&1

  #该文件由IPIP维护更新,大约一月一次更新(也可以用我放在国内的存储的版本,2018-9-8日版)
  [ -f china_ip_list.txt ] && mv china_ip_list.txt china_ip_list.txt.old
  wget https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt
  cat china_ip_list.txt |grep 'js-file-line">' |awk -F'js-file-line">' '{print $2}' |awk -F'<' '{print $1}' >> china_ip.txt
  rm -rf china_ip_list.txt
  #wget https://qiniu.wsfnk.com/china_ip.txt

  #放行局域网地址
  echo "192.168.0.0/18" >> china_ip.txt
  echo "10.0.0.0/8" >> china_ip.txt
  echo "172.16.0.0/12" >> china_ip.txt
}

#只允许国内IP访问
ipset_only_china() {
  echo "ipset create whitelist-china hash:net hashsize 10000 maxelem 1000000" > /etc/ip-black.sh
  for i in $( cat china_ip.txt )
  do
        	echo "ipset add whitelist-china $i" >> /etc/ip-black.sh
  done
  echo "iptables -I INPUT -m set --match-set whitelist-china src -j ACCEPT" >> /etc/ip-black.sh
  #拒绝非国内和内网地址发起的tcp连接请求(tcp syn 包)(注意,只是屏蔽了入向的tcp syn包,该主机主动访问国外资源不用影响)
  echo "iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 0 -j DROP" >> /etc/ip-black.sh
  #拒绝非国内和内网发起的ping探测(不影响本机ping外部主机)
  echo "iptables  -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP" >> /etc/ip-black.sh
  #echo "iptables -A INPUT -j DROP" >> /etc/ip-black.sh
  rm -rf china_ip.txt
}

run_setup() {
  chmod +x /etc/rc.local
  sh /etc/ip-black.sh
  rm -rf /etc/ip-black.sh
  #下面这句主要是兼容centos6不能使用"-f"参数
  ipset save whitelist-china -f /etc/ipset.conf || ipset save whitelist-china > /etc/ipset.conf
  [ $release = centos7 ] && echo "ipset restore -f /etc/ipset.conf" >> /etc/rc.local
  [ $release = centos6 ] && echo "ipset restore < /etc/ipset.conf" >> /etc/rc.local
  echo "iptables -I INPUT -m set --match-set whitelist-china src -j ACCEPT" >> /etc/rc.local
  echo "iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 0 -j DROP" >> /etc/rc.local
  echo "iptables  -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP" >> /etc/rc.local
  #echo "iptables -A INPUT -j DROP" >> /etc/rc.local
}

main() {
  check_release
  get_china_ip
  ipset_only_china

case "$release" in
centos6)
  run_setup
  ;;
centos7)
  chmod +x /etc/rc.d/rc.local
  run_setup
  ;;
ubuntu)
  sed -i '/exit 0/d' /etc/rc.local
  run_setup
  echo "exit 0" >> /etc/rc.local
  ;;
esac
}
main

Wenn Sie einige IPs ausschließen und zulassen möchten, dass diese IPs weiterhin als Ausnahmen zugreifen, können Sie den Befehl iptables -I verwenden, um iptables-Regeln hinzuzufügen, oder iptables-Regeln manuell hinzufügen. Achten Sie darauf, die Regeln an die erste Stelle zu setzen, da die Reihenfolge von Die Ausführung von iptables erfolgt von oben nach unten.

3.3  Manuell eingestellt, um nur den IP-Zugriff aus bestimmten Ländern zuzulassen

Die manuelle Einstellung ist die gleiche wie die Ein-Klick-Einstellungsmethode oben. Befolgen Sie einfach die folgenden Befehle nacheinander.

1、安装ipset

#Debian/Ubuntu系统
apt-get -y install ipset

#CentOS系统
yum -y install ipset
CentOS 7还需要关闭firewall防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

2、清空之前的规则

#防止设置不生效,建议清空下之前的防火墙规则
iptables -P INPUT ACCEPT
iptables -F

3、创建新规则

#创建一个名为cnip的规则
ipset -N cnip hash:net
#下载国家IP段,这里以中国为例,其它国家IP下载参考:http://www.ipdeny.com/ipblocks/
wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone
#将IP段添加到cnip规则中
for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done

4、设置IP段白名单

#放行IP段
iptables -A INPUT -p tcp -m set --match-set cnip src -j ACCEPT
#关掉所有端口
iptables -P INPUT DROP
这时候就只有指定国家的IP能访问服务器了。

#如果你在国内,网站不允许被国内人访问,建议别关所有端口,这样你的S-S-H会上不去,我们可以只关闭80/443端口。

#关闭指定端口,比如80/443
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP
这时候其他国家的IP是无法访问你服务器的80/443端口,等于无法访问你的网站,其它端口还是可以访问的。

5、删除规则

#将参数里的-A改成-D就是删除规则了,如
iptables -D INPUT -p tcp -m set --match-set cnip src -j ACCEPT
iptables -D INPUT -p tcp --dport 443 -j DROP

4. WordPress blockiert bestimmte IPs

WordPress-Plugin

  1. HTTPS://WordPress.org/plugins/word volume/
  2. HTTPS://WordPress.org/plugins/all-in-one-I'm terrible-security-安定-firewall/
  3. HTTPS://WordPress.org/plugins/IP-geoh-block/

Die oben genannten drei WordPress-Sicherheits-Plug-ins verfügen alle über Einstellungen zum Blockieren des IP-Zugriffs, die basierend auf der Quelle, dem Land, dem Bereich und dem Domänennamen der IP blockiert werden können. (Klicken um zu vergrößern)

IP Geo Block ist etwas professioneller. Es blockiert nicht nur bestimmte IP-Adressen, sondern kann auch den Zugriff verschiedener IP-Adressen auf verschiedene Seiten blockieren. (Klicken um zu vergrößern)

5. Zusammenfassung

Der einfachste Weg für eine Website, die IP eines bestimmten Landes zu blockieren, ist der in diesem Artikel vorgestellte PHP-Code, der sich auf die IP-Bibliothek von Taobao bezieht. Die Genauigkeit ist sehr hoch und kann auch auf die Provinz und Stadt genau sein Sie können es an Ihre Bedürfnisse anpassen. Der Nachteil besteht darin, dass es kein HTTPS unterstützt und nur in PHP ausgeführt werden kann.

Tatsächlich ist iptables das am häufigsten verwendete, das den IP-Zugriff direkt wie eine Linux-Firewall blockiert. Es verbraucht keine Ressourcen und blockiert ihn sauber und vollständig. Das Geo-IP-Modul von Nginx bietet ein breites Anwendungsspektrum. In Kombination mit Nginx können Sie verschiedenen IP-Benutzern unterschiedliche Inhalte anzeigen.

Hinterlasse eine Antwort