يقيد Asp الوصول إلى IP ويمنع شريحة IP معينة من الوصول إلى رمز هذا الموقع.
غالبًا ما تحتوي بعض مواقع الويب B2B أو B2C المحلية على الكثير من الرسائل غير المرغوب فيها المنشورة على دفعات في كل مكان.
الرمز هو كما يلي:
<%
''الحصول على عنوان الزائر
ip=Request.ServerVariables(REMOTE_ADDR)
''نطاق عنوان IP المسموح به هو 10.0.0.0~10.68.63.255
allowip1=10.0.0.0
allowip2=10.68.10.71
Response.writecheckip(ip,allowip1,allowip2)
وظيفة التحقق (ip،allowip1،allowip2)
فحص خافت(4)
checkip=false
ipstr=سبليت(ip,.)
allow1=سبليت(allowip1,.)
allow2=split(allowip2,.)
ifcint(allow1(0))>cint(allow2(0))ثم'' يحدد ما إذا كان مقطع عنوان IP قانونيًا أم لا
استجابة.كتابة الوصول المحظور
وظيفة الخروج
com.endif
فوري = 0toubound(ipstr)
ifcint(allow1(i))<cint(allow2(i))then
ifcint(allow1(i))=cint(ipstr(i))then
تحقق (ط) = صحيح
checkip=true
exitfor
آخر
ifcint(ipstr(i))<cint(allow2(i))then
تحقق (ط) = صحيح
checkip=true
exitfor
آخر
ifcint(ipstr(i))>cint(allow2(i))then
تحقق (ط) = خطأ
checkip=false
exitfor
آخر
تحقق (ط) = صحيح
checkip=true
com.endif
com.endif
com.endif
آخر
ifcint(allow1(i))>cint(ipstr(i))orcint(allow1(i))<cint(ipstr(i))ثم
تحقق (ط) = خطأ
checkip=false
ifi<>ubound(ipstr)ثم
exitfor
com.endif
آخر
تحقق (ط) = صحيح
com.endif
com.endif
التالي
إذا (check(0)=trueandcheck(1)=trueandcheck(2)=trueandcheck(3)=false)and(cint(allow2(2))>cint(ipstr(2)))ثم
checkip=true
com.endif
endfunction
%>
أضف التعليمة البرمجية التالية إلى صفحة 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 (الحصول على عنوان IP &IP محظور الوصول إليه)
الاستجابة. النهاية ()
نهاية إذا
'المعلمة vBadIP: مقطع IP المراد حظره، وتعيين عنوان IP، استخدم الرمز | لفصل عناوين IP (مقاطع) متعددة.
'إرجاع Bool: صحيح أن عنوان IP الخاص بالمستخدم موجود في النطاق المحظور، وإلا فهو خطأ
الدالة IsForbidIP(vBadIP)
عداد خافت، arrIPPart، arrBadIP، arrBadIPPart، i، j
arrBadIP = سبليت(vBadIP, |)
arrIPPart = سبليت (GetIP ()، .)
لأني = 0 إلى UBound(arrBadIP)
العداد = 0
arrBadIPPart = سبليت(arrBadIP(i), .)
لـ j = 0 إلى UBound(arrIPPart)
إذا (arrBadIPPart(j)) = * أو Cstr(arrIPPart(j)) = Cstr(arrBadIPPart(j)) ثم
العداد = العداد + 1
نهاية إذا
التالي
إذا كان العداد = 4 ثم
IsForbidIP = صحيح
وظيفة الخروج
نهاية إذا
التالي
IsForbidIP = خطأ
وظيفة النهاية
''إرجاع عنوان IP للعميل
الدالة GetIP()
خافت IP
IP = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
إذا كان IP = إذن IP = Request.ServerVariables(REMOTE_ADDR)
GetIP=IP
وظيفة النهاية
%>
بهذه الطريقة، يمكنك تحديد نطاق IP للوصول إلى موقع الويب، ويمكنك ضبطه وفقًا لنطاق IP الخاص بالمنطقة.
أستخدم هذه الطريقة لمنع المستخدمين الأجانب من استخدام البرامج المارقة لنشر معلومات بشكل ضار على موقع الويب الخاص بي!