<%@Idioma = vbscript codePage = 936%>
<html>
<head>
<title> Documento sem título </title>
<meta http-equiv = conteúdo content = text/html;
</head>
<Body>
<%
Dim FINALGETIP, Showip, Allip
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////////////////tipos /////////////////////////////////////////////////////////Tipos /////////////////////////////////////////////////////////Tipos /// Gons
'O programa não está muito simplificado e depois modifique -o mais tarde
'O banco de dados usado neste programa é- "feng zhihong" -written- "caça"- o banco de dados IP e
O autor de "Guohua Software Guohua Soft"-"Feng Guohua"-a "Tabela de alocação de endereço IP global.CHM" escrito por.
'Graças aos dados fornecidos por "Feng Zhihong" e "Feng Guohua"
'Ainda existem muitos endereços IP duplicados no banco de dados.
'Meu programa é muito desajeitado.
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////////////////tipos /////////////////////////////////////////////////////////Tipos /////////////////////////////////////////////////////////Tipos /// Gons
'Solução:
'O IP do cliente obtido é geralmente 202.11.25.1, e o formato IP no banco de dados é 202.011.025.001, que precisa ser obtido
'O IP do cliente se converte para o mesmo formato que o IP no banco de dados
'Como o IP que usamos atualmente é dividido em 4 seções, cada seção de 3 lugares e o meio é separado por "".
'Então, minha idéia é dividir o IP do cliente em 4 parágrafos de ""., Ou seja, 202/11/25/1
'Em seguida, verifique cada parágrafo separadamente, se houver 3 dígitos, não mudará;
'Após a formatação do IP, a última seção do IP é removida, ou seja, os 11 principais bits, incluindo "". valor
'Como pode ser visto no banco de dados, os três primeiros parágrafos de Startip e Endip são os mesmos, e o último parágrafo é apenas o endereço de sub -rede interno, que pode ser removido
'Assim que você pega o top 11 de qualquer campo de startip ou endip, em comparação com os 11 melhores do IP do cliente, você pode encontrar o local certo
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////////////////tipos /////////////////////////////////////////////////////////Tipos /////////////////////////////////////////////////////////Tipos /////////// Gestman
Função checkip_trugEip ()
'Pegue o cliente real IP
getClientip = request.ServerVariables (http_x_forwardeded_for) 'Se o cliente usar o método do servidor proxy, use Request.ServerVariables (Remote_ADDR)
Se getClientip = então
GetClientip = EQUEST.SERVERVARIABLES (REMOTE_ADDR) 'Se o cliente não usar o agente, então request.Servervariable (http_x_forwardededded_for) é o método vazio
final se
checkip_trugEip = getClientip
Função final
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////////////////tipos /////////////////////////////////////////////////////////Tipos /////////////////////////////////////////////////////////Tipos /////////////////////////////////////////////////////////Tipos //////////////////////// ggig
Função getAccessRecordSet (db, sql, mark, leia) 'obtenha o objeto RecordSet
Set Conn = GetAccessConn (DB) 'Parâmetro de entrada é o caminho relativo da instrução DB-DATABASE, SQL-SQL, MARK, READ é um método de leitura do banco de dados, 1,1 é lido e gravado
'Constr = Provider = Microsoft.Jet.oledb.4.0;
'Conn.open constr
Definir getAccessRecordSet = server.createObject (adodb.recordset)
GetAccessRecordset.open SQL, Conn, Mark, Read
Função final
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead /////////////////////////////
Função getAccessConn (dB) '' Obtenha o objeto de conexão
Definir getAccessConn = server.createObject (adodb.connection)
'Constr = Driver = {Microsoft Access Driver (*.mdb)};
Constr = Provider = Microsoft.Jet.oledb.4.0;
getAccessConn.open constr
Função final
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////////
Dim getip
'Getip = (TRIM (request.Servervariables (Remote_addr)') 'Obtenha IP do cliente
'Getip = (TRIM (request.QueryString (vem))') 'Digite o teste IP por mim
'Response.write (getip & <br>)
'/////////////////////////////////////////////////////////Ticol //////////////////// gestingead //////////////////////////////////////////////////////
Função checkip_locations (checkstring) 'de volta à função de posição do caractere separado no IP
Checkip_locations = instrum (checkstring ,.) 'Para dar funções à função
Função final
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////
'As funções a seguir são o IP da divisão e a sequência de IP restante do IP à direita após a obtenção de cada segmentação
Função checkip_left (checkstring)
Locations_left = checkip_locations (checkstring) 'para obter o primeiro lugar onde o primeiro apareceu na sequência restante do IP
iPlength_left = len (checkString) 'Obtenha o comprimento da sequência restante do IP
Divide_locations_left = iPlength_Left-locations_left 'para obter a posição de "."
Ipstr_left = direita (checkstring, divide_locations_left) 'Após obter essa divisão, a sequência restante do IP restante à direita do "."
Checkip_left = ipstr_left 'dará a string obtida acima à função
Função final
'/////////////////////////////////////////////////////////Ticol //////////////////// Gestingead ////////////////////////
'As funções a seguir são divididas IP e a sequência IP no lado esquerdo do símbolo "".
Função checkip_right (checkstring)
Locations_right = checkip_locations (checkstring) 'obtido no IP "."
iPlength_right = len (checkstring) 'Obtenha o comprimento da string ip
Divide_locations_right = iPlength_right-locations_right 'para obter a posição de ".
ipstr11 = TRIM (Reft (esquerda (CheckSting, Local) ,.,.,) ')' ') A sequência "
'Se o IP for dividido em 4 parágrafos, cada seção é inferior a 3 dígitos e 0
Se Len (ipstr11) = 2 então ipstr11 = 0 e ipstr11
Se Len (ipstr11) = 3 então ipstr11 = ipstr11
Se Len (ipstr11) = 1 então ipstr11 = 00 & ipstr11
Checkip_right = ipstr11 'Obtenha a string antes do símbolo ".
Final functi
O maior centro de demonstração da estação legal da China!