<٪@language = vbscript codepage = 936 ٪>
<html>
<head>
<title> مستند بدون عنوان </title>
<meta http-equiv = content-type content = text/html ؛
</head>
<body>
<٪
Dim Finishgetip ، showip ، almip
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// /// gons
'البرنامج ليس مبسطًا للغاية ، ثم قم بتعديله لاحقًا
"قاعدة البيانات المستخدمة في هذا البرنامج هي" Feng Zhihong "-" الصيد "- قاعدة بيانات IP و
مؤلف كتاب "Guohua Software Guohua Soft"-"Feng Guohua"-"Table Global IP Table Table.Chm" كتبه.
"بفضل البيانات المقدمة من" فنغ تشونونغ "و" فنغ جووهوا "
لا يزال هناك العديد من عناوين IP مكررة في قاعدة البيانات.
"برنامجي أخرق للغاية.
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// /// gons
'حل:
"IP العميل الذي تم الحصول عليه هو عمومًا 202.11.25.1 ، وتنسيق IP في قاعدة البيانات هو 202.011.025.001 ، والذي يجب الحصول عليه
يحول IP العميل إلى نفس تنسيق IP في قاعدة البيانات
"نظرًا لأن IP الذي نستخدمه حاليًا ينقسم إلى 4 أقسام ، يتم فصل كل قسم من 3 أماكن ، ويتم فصل الوسط".
"لذا فإن فكرتي هي تقسيم IP العميل إلى 4 فقرات من". "، أي 202/11/25/1
"ثم تحقق من كل فقرة بشكل منفصل ، إذا كانت 3 أرقام ، فلن تتغير ؛
"بعد الحصول على IP التنسيق ، تتم إزالة القسم الأخير من IP ، أي أفضل 11 بت بما في ذلك". قيمة
"لأنه يمكن رؤيتها من قاعدة البيانات ، فإن الفقرات الثلاث الأولى من Startip و Endip هي نفسها ، والفقرة الأخيرة هي مجرد عنوان الشبكة الفرعية الداخلية ، والتي يمكن إزالتها
"طالما كنت تأخذ أعلى 11 من أي مجال من حقل Startip أو Endip ، مقارنة بأعلى 11 من IP العميل ، يمكنك العثور على الموقع الصحيح
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ///////////Gestman
وظيفة checkip_trueip ()
خذ العميل الملكي الحقيقي
getClientip = request.servervariables (http_x_forwarded_for) 'إذا كان العميل يستخدم خادم الوكيل ، فاستخدم طريقة request.servervariables (Remote_addr)
إذا getClientip = إذن
getClientip = equest.servervariables (Remote_Addr) 'إذا لم يستخدم العميل الوكيل ، فالطلب
إنهاء إذا
checkip_trueip = getClientip
وظيفة نهاية
'///////////////////////////////////////////////////////////////2 ) ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////// //////////////////////////// GGIG
وظيفة getAccessRecordSet (DB ، SQL ، Mark ، قراءة) "الحصول على كائن مجموعة السجلات
set conn = getAccessConn (dB) 'معلمة الإدخال هي المسار النسبي لـ db-database ، عبارة SQL-SQL ، MARK ، القراءة هي طريقة قراءة قاعدة البيانات ، 1،1 يتم قراءة وكتابة
'constr = provider = microsoft.jet.oledb.4.0 ؛
Conn.Open Constr
تعيين getAccessRecordSet = server.createBject (adodb.oldset)
getAccessRecordset.open SQL ، Conn ، Mark ، قراءة
وظيفة نهاية
'///////////////////////////////////////////////////////////////2 ////////////////////////////كان
وظيفة getAccessConn (DB) "احصل على كائن الاتصال
تعيين getAccessConn = server.createBject (adodb.connection)
'Constr = {Microsoft Access Driver (*.mdb)} ؛
constr = provider = microsoft.jet.oledb.4.0 ؛
getAccessConn.Open conntr
وظيفة نهاية
'///////////////////////////////////////////////////////////////2 ////////////////////////////كان
قاتمة getip
"getip = (trim (request.servervariables (Remote_addr))") احصل على IP من العميل
'getip = (trim (request.querystring (comes))') 'أدخل اختبار IP بنفسي
'Response.write (getip & <br>)
'///////////////////////////////////////////////////////////////2 ////////////////////////////كان
دالة checkip_location
checkip_locations = instr (checkstring ،.) 'لإعطاء وظائف للوظيفة
وظيفة نهاية
'///////////////////////////////////////////////////////////////2 )
"الوظائف التالية هي IP للقسمة ، وسلسلة IP المتبقية من IP على اليمين بعد الحصول على كل تجزئة
وظيفة checkip_left (checkstring)
SOCATIONS_LEFT = checkip_locations (checkstring) "للحصول على المركز الأول حيث ظهر الأول في السلسلة المتبقية من IP
iplength_left = len (checkstring) 'احصل على طول السلسلة المتبقية من IP
divide_locations_left = iplength_left-locations_left "للحصول على موضع". "لأول مرة في السلسلة المتبقية من IP.
ipstr_left = right (checkstring ، divide_locations_left) 'بعد الحصول على هذا القسم ، فإن السلسلة المتبقية من IP المتبقية على يمين "."
checkip_left = ipstr_left 'سوف يعطي السلسلة التي تم الحصول عليها أعلاه إلى الوظيفة
وظيفة نهاية
'///////////////////////////////////////////////////////////////2 )
"يتم تقسيم الوظائف التالية ، وسلسلة IP على الجانب الأيسر من".
وظيفة checkip_right (checkstring)
SOCATIONS_RIGHT = checkip_locations (checkstring) "تم الحصول عليها في IP". "
iplength_right = len (checkstring) 'احصل على طول سلسلة IP
divide_locations_right = iplength_right-locations_right "للحصول على موقع".
IPSTR10 = TRIM (REFT (CheckString ، Local) ،. ،. ،) ')')
إذا تم تقسيم IP إلى 4 فقرات ، فكل قسم أقل من 3 أرقام ، و 0
إذا كان LEN (IPSTR11) = 2 ثم IPSTR11 = 0 و IPSTR11
إذا كان LEN (IPSTR11) = 3 ثم IPSTR11 = IPSTR11
إذا كانت LEN (IPST1) = 1 ثم IPSTR11 = 00 و IPSTR11
checkip_right = IPSTR11 'احصل على السلسلة قبل ".
نهاية Functi
أكبر مركز لتظاهر محطة بارد في الصين!