Asp schränkt den IP-Zugriff ein und verhindert, dass ein bestimmtes IP-Segment auf den Code dieser Site zugreift.
Oft wird auf einigen lokalen B2B- oder B2C-Websites überall massenhaft Spam gepostet. Ich möchte meine Lösung mit allen teilen.
Der Code lautet wie folgt:
<%
„Ermitteln Sie die Adresse des Besuchers.“
ip=Request.ServerVariables(REMOTE_ADDR)
''Der zulässige IP-Adressbereich liegt zwischen 10.0.0.0 und 10.68.63.255
Allowip1=10.0.0.0
Allowip2=10.68.10.71
Antwort.writecheckip(ip,allowip1,allowip2)
functioncheckip(ip,allowip1,allowip2)
Dimcheck(4)
checkip=false
ipstr=split(ip,.)
Allow1=split(allowip1,.)
Allow2=split(allowip2,.)
ifcint(allow1(0))>cint(allow2(0))then'' bestimmt, ob das IP-Adresssegment zulässig ist
Response.writeVerbotener Zugriff
Exit-Funktion
endif
fori=0toubound(ipstr)
ifcint(allow1(i))<cint(allow2(i))then
ifcint(allow1(i))=cint(ipstr(i))then
check(i)=true
checkip=true
Exitfor
anders
ifcint(ipstr(i))<cint(allow2(i))then
check(i)=true
checkip=true
Exitfor
anders
ifcint(ipstr(i))>cint(allow2(i))then
check(i)=false
checkip=false
Exitfor
anders
check(i)=true
checkip=true
endif
endif
endif
anders
ifcint(allow1(i))>cint(ipstr(i))orcint(allow1(i))<cint(ipstr(i))then
check(i)=false
checkip=false
ifi<>ubound(ipstr)then
Exitfor
endif
anders
check(i)=true
endif
endif
nächste
if(check(0)=trueandcheck(1)=trueandcheck(2)=trueandcheck(3)=false)and(cint(allow2(2))>cint(ipstr(2)))then
checkip=true
endif
Endfunktion
%>
Fügen Sie Ihrer ASP-Seite den folgenden Code hinzu, um den Effekt zu testen:
Kopieren Sie den Codecode wie folgt:
<%
„Eine Sammlung blockierter IP-Adressen (Segmente), Sternchen ist ein Platzhalterzeichen, das normalerweise in der Konfigurationsdatei gespeichert wird.“
Const BadIPGroup = 192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1
Wenn IsForbidIP(BadIPGroup) = True, dann
Response.Write(Zugriff auf GetIP und IP-Adresse ist verboten)
Response.End()
Ende wenn
'Parameter vBadIP: Zu blockierendes IP-Segment, eingestellte IP-Adresse, verwenden Sie das Symbol |, um mehrere IP-Adressen (Segmente) zu trennen.
'Return Bool: True, die Benutzer-IP liegt im blockierten Bereich, andernfalls False
Funktion IsForbidIP(vBadIP)
Zähler dimmen, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Split(vBadIP, |)
arrIPPart = Split(GetIP(), .)
Für i = 0 To UBound(arrBadIP)
Zähler = 0
arrBadIPPart = Split(arrBadIP(i), .)
Für j = 0 Zu UBound(arrIPPart)
If(arrBadIPPart(j)) = * oder Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Dann
Zähler = Zähler + 1
Ende wenn
Nächste
Wenn Zähler = 4, dann
IsForbidIP = True
Exit-Funktion
Ende wenn
Nächste
IsForbidIP = Falsch
Funktion beenden
''Rückgabe der IP-Adresse des Kunden
Funktion GetIP()
IP dimmen
IP = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
Wenn IP = Dann IP = Request.ServerVariables(REMOTE_ADDR)
GetIP=IP
Funktion beenden
%>
Auf diese Weise können Sie den IP-Bereich für den Website-Zugriff einschränken. Sie können ihn entsprechend dem IP-Bereich der Region festlegen.
Ich verwende diese Methode, um zu verhindern, dass ausländische Benutzer betrügerische Software verwenden, um in böswilliger Absicht Informationen auf meiner Website zu veröffentlichen!