<%@Language = vbscript codepage = 936%>
<html>
<голова>
<Название> без названия документа </title>
<meta http-equiv = content-type content = text/html;
</head>
<тело>
<%
Dim FinishiceTip, Scisip, Allip
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////Gestingead ///////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Гонс
«Программа не очень оптимизирована, а затем изменить ее позже
'База данных, используемая в этой программе, является «фэн-Zhihong»- written- «охота»- база данных IP и
Автор «Guohua Software Guohua Soft»-«Feng Guohua»-«Глобальная IP-адреса Table.chm».
«Благодаря данным, предоставленным" Feng Zhihong "и" Feng Guohua "
«В базе данных все еще есть много дублирующих IP -адресов.
«Моя программа очень неуклюжая.
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////Gestingead ///////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// Гонс
'Решение:
'Полученный IP клиента, как правило, 202.11.25.1, а формат IP в базе данных составляет 202.011.025.001, который необходимо получить
'Клиент IP преобразуется в тот же формат, что и IP в базе данных
«Поскольку IP, который мы в настоящее время используем, делится на 4 секции, каждый раздел из 3 мест, а середина разделена« ».
«Итак, моя идея состоит в том, чтобы разделить IP клиента на 4 абзаца от". ", То есть 202/11/25/11
«Затем проверьте каждый абзац отдельно, если он составляет 3 цифры, он не изменится;
«После получения форматирования IP, последняя часть IP удаляется, то есть 11 лучших битов, включая« ». ценить
«Поскольку это можно увидеть из базы данных, первые три параграфа запуска и Endip одинаковы, а последний абзац - это просто внутренний адрес подсети, который можно удалить
«Поэтому до тех пор, пока вы возьмете 11 лучших поля запуска или Endip, по сравнению с 11 лучшими IP клиента, вы можете найти правильное местоположение
'///////////////////////////////////////////////// ////////////////////Gestingead ///////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////gestman
Function checkip_trueip ()
'Возьмите клиента Real IP
getClientip = request.servervariables (http_x_forwarded_for) 'Если клиент использует метод прокси -сервера, используйте метод
Если getClientip = тогда
GetClientip = equest.servervariables (remote_addr) 'Если клиент не использует агент, то запрос
конец, если
checkip_trueip = getClientip
конечная функция
'///////////////////////////////////////////////// ////////////////////Gestingead ///////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////Ggig
Функция getAccessRecordset (DB, SQL, Mark, Read) 'Получить объект записи
Установить conn = getAccessConn (DB) 'Входной параметр-это относительный путь DB-датабазы, оператор SQL-SQL, MARD, чтение-это метод считывания базы данных, 1,1-это и записывает
'Constr = Provider = microsoft.jet.oledb.4.0;
'Conn.Open Constr
Установить getAccessRecordset = server.createObject (adodb.oldset)
Getaccessrecordset.open sql, conn, mark, читать
конечная функция
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Функция getAccessConn (DB) '' Получить объект соединения
Установить getAccessConn = server.createObject (adodb.connection)
'Constr = Driver = {Microsoft Access Driver (*.mdb)};
Constra = Provider = microsoft.jet.oledb.4.0;
getaccessconn.open constr
конечная функция
'///////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dim Getip
'Getip = (trim (request.servervariables (remote_addr))') 'Получить IP от клиента
'Getip = (trim (request.QueryString (are))') 'Введите IP -тест самостоятельно
'Response.write (getip & <br>)
'///////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Function checkip_locations (checkstring) 'обратно к функции позиции разделенного символа в IP
Checkip_locations = instr (checkstring ,.) 'Чтобы дать функции функции
конечная функция
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'Следующие функции - это IP -адрес деления, а IP -оставшаяся строка IP на сразу после каждой сегментации получена
Function checkip_left (checkstring)
Locations_left = checkip_locations (checkstring) ', чтобы получить первое место, где первое появилось в оставшейся строке IP
iplength_left = len (checkstring) 'Получите длину оставшейся строки IP
Divide_locations_left = iplength_left-locations_left ', чтобы получить позицию "."
Ipstr_left = right (checkstring, divide_locations_left) 'После получения этого деления оставшаяся строка IP остается справа от "."
Checkip_left = ipstr_left 'даст строку, полученную выше для функции
конечная функция
'///////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
«Следующие функции разделены IP, и IP -строка на левой стороне« ».
Функция checkip_right (checkstring)
Locations_right = checkip_locations (checkstring) «получен в IP». ».
iplength_right = len (checkstring) 'Получить длину IP строки
Divide_locations_right = iplength_right-locations_right ', чтобы получить позицию "."
ipstr11 = reft (слева (проверка, локальный),.,.,) ')') '
'Если IP разделен на 4 абзаца, каждый раздел составляет менее 3 цифр и 0
Если len (ipstr11) = 2, то ipstr11 = 0 & ipstr11
Если len (ipstr11) = 3, то ipstr11 = ipstr11
Если len (ipstr11) = 1, то ipstr11 = 00 и ipstr11
Checkip_right = ipstr11 'Получить строку перед "."
Конец функции
Крупнейший демонстрационный центр прохладной станции в Китае!