Asp restreint l'accès IP et empêche un certain segment IP d'accéder au code de ce site.
Souvent, certains sites Web B2B ou B2C locaux publient de nombreux spams partout. J'aimerais partager ma solution avec tout le monde.
Le code est le suivant :
<%
''Obtenir l'adresse du visiteur
ip=Request.ServerVariables(REMOTE_ADDR)
''La plage d'adresses IP autorisée est 10.0.0.0~10.68.63.255
permitip1=10.0.0.0
permitip2=10.68.10.71
réponse.writecheckip(ip,allowip1,allowip2)
fonctioncheckip(ip,allowip1,allowip2)
dimcheck(4)
checkip = faux
ipstr=split(ip,.)
allow1=split(allowip1,.)
allow2=split(allowip2,.)
ifcint(allow1(0))>cint(allow2(0))then'' détermine si le segment d'adresse IP est légal
réponse.writeAccès interdit
fonction de sortie
fin
fori=0toubound(ipstr)
ifcint(allow1(i))<cint(allow2(i))alors
ifcint(allow1(i))=cint(ipstr(i))alors
vérifier(i)=vrai
checkip = vrai
sortiepour
autre
ifcint(ipstr(i))<cint(allow2(i))alors
vérifier(i)=vrai
checkip = vrai
sortiepour
autre
ifcint(ipstr(i))>cint(allow2(i))puis
vérifier(i)=faux
checkip = faux
sortiepour
autre
vérifier(i)=vrai
checkip = vrai
fin
fin
fin
autre
ifcint(allow1(i))>cint(ipstr(i))orcint(allow1(i))<cint(ipstr(i))then
vérifier(i)=faux
checkip = faux
ifi<>ubound(ipstr)alors
sortiepour
fin
autre
vérifier(i)=vrai
fin
fin
suivant
if(check(0)=trueandcheck(1)=trueandcheck(2)=trueandcheck(3)=false)and(cint(allow2(2))>cint(ipstr(2)))then
checkip = vrai
fin
fonction finale
%>
Ajoutez le code suivant à votre page ASP pour tester l'effet :
Copiez le code comme suit :
<%
'Une collection d'adresses IP bloquées (segments), l'astérisque est un caractère générique, généralement enregistré dans le fichier de configuration.
Const BadIPGroup = 192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1
Si IsForbidIP(BadIPGroup) = True Alors
Response.Write (L'accès à GetIP et à l'adresse IP est interdit)
Réponse.Fin()
Fin si
'Paramètre vBadIP : segment IP à bloquer, adresse IP définie, utiliser le symbole | pour séparer plusieurs adresses IP (segments)
'Return Bool : True, l'adresse IP de l'utilisateur est dans la plage bloquée, False sinon
Fonction IsForbidIP(vBadIP)
Compteur Dim, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Split(vBadIP, |)
arrIPPart = Split(GetIP(), .)
Pour i = 0 Vers UBound (arrBadIP)
compteur = 0
arrBadIPPart = Split(arrBadIP(i), .)
Pour j = 0 Vers UBound(arrIPPart)
Si(arrBadIPPart(j)) = * ou Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Alors
compteur = compteur + 1
Fin si
Suivant
Si compteur = 4 Alors
IsForbidIP = Vrai
Fonction de sortie
Fin si
Suivant
IsForbidIP = Faux
Fonction de fin
'' Retourner l'adresse IP du client
Fonction GetIP()
Faible IP
IP = Requête.ServerVariables(HTTP_X_FORWARDED_FOR)
Si IP = Alors IP = Request.ServerVariables (REMOTE_ADDR)
ObtenirIP=IP
Fonction de fin
%>
De cette façon, vous pouvez limiter la plage IP pour l'accès au site Web. Vous pouvez la définir en fonction de la plage IP de la région.
J'utilise cette méthode pour empêcher les utilisateurs étrangers d'utiliser des logiciels malveillants pour publier des informations de manière malveillante sur mon site Web !