Asp ограничивает доступ по IP и не позволяет определенному сегменту IP получить доступ к коду этого сайта.
Часто на некоторых местных сайтах B2B или B2C повсюду рассылается много спама. Я хотел бы поделиться со всеми своим решением.
Код выглядит следующим образом:
<%
''Получить адрес посетителя
ip = Request.ServerVariables (REMOTE_ADDR)
''Разрешенный диапазон IP-адресов: 10.0.0.0~10.68.63.255.
разрешитьip1=10.0.0.0
разрешитьip2=10.68.10.71
ответ.writecheckip(ip,allowip1,allowip2)
functioncheckip(ip,allowip1,allowip2)
димчек(4)
проверка = ложь
ipstr=split(ip,.)
allow1=split(allowip1,.)
allow2=split(allowip2,.)
ifcint(allow1(0))>cint(allow2(0))then'' определяет, является ли сегмент IP-адреса законным.
response.writeЗапрещенный доступ
функция выхода
конец
fori=0toubound(ipstr)
ifcint(allow1(i))<cint(allow2(i))то
ifcint(allow1(i))=cint(ipstr(i))то
проверка(я)=истина
проверка=истина
выход для
еще
ifcint(ipstr(i))<cint(allow2(i))то
проверка(я)=истина
проверка=истина
выход для
еще
ifcint(ipstr(i))>cint(allow2(i))то
проверка (я) = ложь
проверка = ложь
выход для
еще
проверка(я)=истина
проверка=истина
конец
конец
конец
еще
ifcint(allow1(i))>cint(ipstr(i))orcint(allow1(i))<cint(ipstr(i))then
проверка (я) = ложь
проверка = ложь
ifi<>ubound(ipstr)тогда
выход для
конец
еще
проверка(я)=истина
конец
конец
следующий
if(check(0)=trueandcheck(1)=trueandcheck(2)=trueandcheck(3)=false)and(cint(allow2(2))>cint(ipstr(2)))тогда
проверка=истина
конец
конечная функция
%>
Добавьте следующий код на свою страницу ASP, чтобы проверить эффект:
Скопируйте код кода следующим образом:
<%
«Набор заблокированных IP-адресов (сегментов), звездочка — это подстановочный знак, обычно сохраняемый в файле конфигурации.
Const BadIPGroup = 192.168.1.*|202.68.*.*|*.12.55.34|185.*.96.24|127.*.0.1|192.168.0.1
Если IsForbidIP(BadIPGroup) = Истина Тогда
Response.Write(GetIP &IP-адрес закрыт для доступа)
Ответ.Конец()
Конец, если
'Параметр vBadIP: блокируемый IP-сегмент, установленный IP-адрес, используйте символ | для разделения нескольких IP-адресов (сегментов)
'Return Bool: True, IP-адрес пользователя находится в заблокированном диапазоне, в противном случае False
Функция IsForbidIP(vBadIP)
Счетчик яркости, arrIPPart, arrBadIP, arrBadIPPart, i, j
arrBadIP = Split(vBadIP, |)
arrIPPart = Split(GetIP(), .)
Для i = 0 To UBound(arrBadIP)
счетчик = 0
arrBadIPPart = Split(arrBadIP(i), .)
Для j = 0 To UBound(arrIPPart)
Если(arrBadIPPart(j)) = * или Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) Тогда
счетчик = счетчик + 1
Конец, если
Следующий
Если счетчик = 4 Тогда
IsForbidIP = Истина
Выход из функции
Конец, если
Следующий
IsForbidIP = Ложь
Конечная функция
''Вернуть IP-адрес клиента
Функция ПолучитьIP()
Тусклый IP-адрес
IP = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
Если IP = Тогда IP = Request.ServerVariables(REMOTE_ADDR)
ПолучитьIP=IP
Конечная функция
%>
Таким образом, вы можете ограничить диапазон IP-адресов для доступа к веб-сайту. Вы можете установить его в соответствии с диапазоном IP-адресов региона.
Я использую этот метод, чтобы запретить иностранным пользователям использовать мошенническое программное обеспечение для злонамеренного размещения информации на моем сайте!