ASP中高效判斷多個IP地址的方法
在ASP開發中,驗證用戶IP地址是常見需求。本文改進了一種使用InStr函數判斷多個IP地址(以逗號分隔)的方法,克服了原方法的局限性。
原代碼嘗試使用單個InStr函數查找多個IP地址,這顯然是錯誤的。 InStr一次只能查找一個子字符串。
改進后的方法如下,它使用循環遍歷IP地址數組進行逐個匹配:
<% Dim aa, ips(), i, found aa = Request.ServerVariables("REMOTE_ADDR") ips = Split("99.88,110.52,43.80.235,11.9.67.180", ",") found = False for i = 0 To UBound(ips) If InStr(1, aa, Trim(ips(i))) > 0 Then found = True Exit For End If Next If found Then Response.Write "IP地址匹配!" Else Response.Write "IP地址不匹配!" End If %>
此代碼首先獲取用戶IP地址,然后將需要檢查的IP地址字符串分割成數組ips。 For…Next循環遍歷ips數組,使用InStr(1, aa, Trim(ips(i))) 檢查每個IP地址是否包含在用戶IP地址中。Trim函數用于去除IP地址字符串前后可能存在的空格。如果找到匹配,found變量設置為True,并退出循環。最后,根據found變量的值輸出結果。
這種方法更可靠、高效,并且易于擴展,適用于需要檢查更多IP地址的情況。 只需修改ips數組即可添加或刪除需要驗證的IP地址。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END