<% @ Language = codepage VBScript = 936%>
<html>
<adal>
<Title> Document sans titre </TITME>
<Meta Http-Equiv = Content-Type Content = Text / HTML;
</ head>
<body>
<%
Dim Finisonget, showip, allip
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / /// gons
'Le programme n'est pas très rationalisé, puis le modifiez plus tard
'La base de données utilisée dans ce programme est- "Feng Zhihong" -Written- "Hunting" -La base de données IP et
L'auteur de "GuoHua Software GuoHua Soft" - "Feng GuoHua" - le "Global IP Address Allocation Table.Chm" Écrit par.
'Merci aux données fournies par "Feng Zhihong" et "Feng Guohua"
«Il existe encore de nombreuses adresses IP en double dans la base de données.
«Mon programme est très maladroit.
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / /// gons
'Solution:
«L'IP du client obtenu est généralement 202.11.25.1, et le format IP dans la base de données est 202.011.025.001, qui doit être obtenu
«Le client IP se convertit au même format que IP dans la base de données
«Parce que l'IP que nous utilisons actuellement est divisé en 4 sections, chaque section de 3 places, et le milieu est séparé par« ».
'Donc, mon idée est de diviser l'IP du client en 4 paragraphes de ".", C'est-à-dire 202/11/25/1
«Ensuite, vérifiez chaque paragraphe séparément, s'il est à 3 chiffres, il ne changera pas;
"Une fois la propriété IP de mise en forme, la dernière section de l'IP est supprimée, c'est-à-dire les 11 meilleurs bits, y compris". valeur
`` Parce qu'il peut être vu dans la base de données, les trois premiers paragraphes de Startip et Dedip sont les mêmes, et le dernier paragraphe n'est que l'adresse de sous-réseau interne, qui peut être supprimée
'Donc, tant que vous prenez le top 11 de n'importe quel champ de startip ou dedip, par rapport au top 11 de l'IP client, vous pouvez trouver le bon emplacement
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / ////////// Gestman
Fonction Checkip_trueip ()
'Prenez le Client Real IP
getClientip = request.servervariables (HTTP_X_FORWARDEDED_FOR) 'Si le client utilise le serveur proxy, utilisez la méthode de demande.servervariables (Remote_Addr).
Si getClientip = alors
GetClientip = equest.ServerVariables (Remote_addr) 'Si le client n'utilise pas l'agent, alors demande.servervariables (http_x_forwardedded_for) est une valeur vide.
terminer si
checkip_trueip = getClientip
fonction finale
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD /////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / ////////////////////////////////////////////////////////////////////////// / ///////////////////////////Gig
Function getACCESSRecordSet (db, sql, mark, lise) 'Obtenez l'objet de l'enregistrement
Définir Conn = GetAccessConn (DB) 'Le paramètre d'entrée est le chemin relatif de DB-Database, instruction SQL-SQL, Mark, Read est une méthode de lecture de la base de données, 1,1 est lue et écrivez
'CONSTR = Provider = Microsoft.Jet.oledb.4.0;
'Conn.Open CONCL
SET GETACCESSRECORDSET = Server.CreateObject (ADODB.oldSet)
GetAccessRecordSet.Open SQL, Conn, Mark, Lire
fonction finale
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD //////////////////////////
Fonction getACCESSCONN (DB) '' Obtenez l'objet de connexion
SET GETACCESSCONN = Server.CreateObject (ADODB.Connection)
'CONSTR = Driver = {Microsoft Access Driver (* .mdb)};
CONSTR = fournisseur = Microsoft.Jet.oledb.4.0;
getACCESSCONN.Open Contr
fonction finale
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD //////////////////////////
DIM GETIP
'Getip = (TRIM (request.servervariables (Remote_addr))') 'Obtenez IP du client
'Getip = (Trim (request.Querystring (Comes))') 'Entrez le test IP par moi-même
'Response.Write (getip & <br>)
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD ////////////////////////
Fonction Checkip_locations (contrôle de contrôle) 'Retour à la fonction de position du caractère séparé dans l'IP
Checkip_locations = instr (vérification,.) 'Pour donner des fonctions à la fonction
fonction finale
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD ////////////////////////
«Les fonctions suivantes sont la division IP, et la chaîne IP restante de l'IP à droite après chaque segmentation
Fonction Checkip_Left (vérification)
Locations_left = Checkip_locations (contrôle de contrôle) 'pour obtenir le premier endroit où le premier est apparu dans la chaîne restante de l'IP
iPlength_Left = len (contrôle de contrôle) 'Obtenez la longueur de la chaîne restante de l'IP
Divide_locations_left = iPlength_left-locations_left 'pour obtenir la position de "."
Ipstr_left = droite (vérification, divide_locations_left) 'Après avoir obtenu cette division, la chaîne restante de l'IP restant à droite du "."
Checkip_left = ipstr_left 'donnera la chaîne obtenue ci-dessus à la fonction
fonction finale
'//////////////////////////////////////////////////////////////////////////// / ///////////////////// GESTINGEAD ////////////////////////
«Les fonctions suivantes sont divisées IP et la chaîne IP sur le côté gauche du symbole". "
Fonction Checkip_Right (contrôle de contrôle)
Locations_Right = Checkip_locations (vérification) 'obtenu dans l'IP "."
iPlength_Right = Len (contrôle de contrôle) 'Obtenez la longueur de la chaîne IP
Divide_locations_right = iPlength_Right-Locations_Right 'pour obtenir la position de "."
IPSTR11 = TRIM (REFT (Left (contrôle, local),.,) ')') Le "."
'Si l'IP est divisé en 4 paragraphes, chaque section est inférieure à 3 chiffres et 0
Si Len (ipstr11) = 2 alors ipstr11 = 0 & ipstr11
Si Len (ipstr11) = 3 alors ipstr11 = ipstr11
Si Len (ipstr11) = 1 alors ipstr11 = 00 & ipstr11
Checkip_right = ipstr11 'Obtenez la chaîne avant le symbole "."
Terminer les functi
Le plus grand centre de démonstration de la station cool en Chine!