Asp membatasi akses IP dan mencegah segmen IP tertentu mengakses kode situs ini.
Seringkali beberapa situs web B2B atau B2C lokal memiliki banyak spam yang diposting secara berkelompok di mana-mana. Saya ingin berbagi solusi saya dengan semua orang.
Kodenya adalah sebagai berikut:
<%
'' Dapatkan alamat pengunjung
ip=Permintaan.Variabel Server(REMOTE_ADDR)
''Rentang alamat IP yang diperbolehkan adalah 10.0.0.0~10.68.63.255
izinkan1=10.0.0.0
izinkan2=10.68.10.71
respon.writecheckip(ip,allowip1,allowip2)
pemeriksaan fungsi(ip,allowip1,allowip2)
centang redup(4)
checkip=salah
ipstr=belah(ip,.)
izinkan1=pisah(izinkan1,.)
izinkan2=pisah(izinkan2,.)
ifcint(allow1(0))>cint(allow2(0))then'' menentukan apakah segmen alamat IP legal
akses respon.writeForbidden
fungsi keluar
endif
fori=0toubound(ipstr)
ifcint(izinkan1(i))<cint(izinkan2(i))maka
ifcint(allow1(i))=cint(ipstr(i))maka
centang(i)=benar
cekip=benar
keluar untuk
kalau tidak
ifcint(ipstr(i))<cint(allow2(i))lalu
centang(i)=benar
cekip=benar
keluar untuk
kalau tidak
ifcint(ipstr(i))>cint(allow2(i))lalu
centang(i)=salah
checkip=salah
keluar untuk
kalau tidak
centang(i)=benar
cekip=benar
endif
endif
endif
kalau tidak
ifcint(allow1(i))>cint(ipstr(i))orcint(allow1(i))<cint(ipstr(i))lalu
centang(i)=salah
checkip=salah
ifi<>ubound(ipstr)lalu
keluar untuk
endif
kalau tidak
centang(i)=benar
endif
endif
Berikutnya
if(periksa(0)=benardanperiksa(1)=benardanperiksa(2)=benardanperiksa(3)=salah)dan(cint(izinkan2(2))>cint(ipstr(2)))maka
cekip=benar
endif
fungsi akhir
%>
Tambahkan kode berikut ke halaman ASP Anda untuk menguji efeknya:
Copy kode kodenya sebagai berikut:
<%
'Kumpulan alamat IP (segmen) yang diblokir, tanda bintang adalah karakter wildcard, biasanya disimpan dalam file konfigurasi.
Const BadIPGroup = 192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1
Jika IsForbidIP(BadIPGroup) = Benar Maka
Response.Write (GetIP & alamat IP dilarang diakses)
Respon.Akhir()
Akhiri Jika
'Parameter vBadIP: Segmen IP yang akan diblokir, alamat IP ditetapkan, gunakan simbol |.
'Return Bool: Benar, IP pengguna berada dalam rentang yang diblokir, Salah jika tidak
Fungsi IsForbidIP(vBadIP)
Penghitung redup, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Pisahkan(vBadIP, |)
arrIPPart = Pisahkan(GetIP(), .)
Untuk i = 0 Ke UBound(arrBadIP)
penghitung = 0
arrBadIPPart = Pisahkan(arrBadIP(i), .)
Untuk j = 0 Ke UBound(arrIPPart)
Jika(arrBadIPPart(j)) = * atau Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Lalu
penghitung = penghitung + 1
Akhiri Jika
Berikutnya
Jika penghitung = 4 Maka
IsForbidIP = Benar
Fungsi Keluar
Akhiri Jika
Berikutnya
IsForbidIP = Salah
Fungsi Akhir
''Kembalikan alamat IP pelanggan
Fungsi DapatkanIP()
Redupkan IP
IP = Permintaan.ServerVariables(HTTP_X_FORWARDED_FOR)
Jika IP = Maka IP = Permintaan.ServerVariables(REMOTE_ADDR)
DapatkanIP=IP
Fungsi Akhir
%>
Dengan cara ini, Anda dapat membatasi rentang IP untuk akses situs web. Anda dapat mengaturnya sesuai dengan rentang IP wilayah.
Saya menggunakan metode ini untuk mencegah pengguna asing menggunakan perangkat lunak jahat untuk memposting informasi jahat di situs web saya!