⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 admin_address_add.asp

📁 此程序是一个个人主页创造程序,该程序无插件,无任何恶意程序.
💻 ASP
字号:
<%
'#############################################################
'#      中国在线--极酷论坛 ver.2001 3.0
'#
'#  版权所有: 中国在线 (ChinaXP.Net)
'#
'#  制作人  : 周周 (SeeYa!)
'#
'#
'#  主页地址: http://www.ChinaXP.net/    中国在线
'#	      http://www.ChinaXP.Net/bbs/    中国在线--极酷论坛
'#
'#############################################################
%>
<!--#INCLUDE FILE="config.asp" -->
<% If Session(strCookieURL & "Approval") = "15916941253" Then %>
<!--#INCLUDE file="inc_functions.asp" -->
<!--#INCLUDE FILE="inc_code.asp" -->
<!--#INCLUDE file="inc_top.asp" -->
<script language="JavaScript">
<!--
function OpenPreview()
{
	var curCookie = "strMessagePreview=" + escape(document.PostTopic.Message.value);
	document.cookie = curCookie;
	popupWin = window.open('pop_preview.asp', 'preview_page', 'scrollbars=yes,width=550,height=250')
}
//-->
</script>
<%
strIPEditMode = Request.Form("mode")
if strIPEditMode = "add_ip" then
	strIPStart = Request.Form("IPStart")
	strIPEnd = Request.Form("IPEnd")
	strIPProvince = Request.Form("Province")
	strIPCIty = Request.Form("City")

	if ChkIPString(strIPStart) And ChkIPString(strIPEnd) then
		strIPStartLong = GetIPAddrLong(strIPStart)
		strIPEndLong = GetIPAddrLong(strIPEnd)

		strSQL = "SELECT C_STRIPProvince, C_STRIPDetail, C_STRIPStart, C_STRIPEnd"
		strSQL = strSQL & " FROM " & strTablePrefix & "Address WHERE C_STRIPStart>=" & strIPStartLong & " AND C_STRIPEnd<=" & strIPEndLong & " ORDER BY C_STRIPStart ASC, C_STRIPEnd ASC"

		set IpRS =  my_Conn.Execute (strSQL)
		IpRS.close
		Set IpRS = Nothing
	else
		' IP地址输入不正确
		Response.Write ("IP地址输入不正确.")
	end if
end if
%>
<TD width="70%" align="left" valign="top">
<TABLE border="0" width="85%" align=center>
  <TR>
    <TD width="33%" align="left" nowrap><font face="<% Response.Write strDefaultFontFace %>" size="<% Response.Write strDefaultFontSize %>"><a href="default.asp"><img src="<% =strImageURL %>icon_folder_open.gif" alt="返回论坛首页" border="0">&nbsp;<% =strForumTitle %></a>
<BR><img src="<%=strImageURL %>icon_bar.gif" border="0"><img src="<% =strImageURL %>icon_folder_open.gif" border="0">&nbsp;<A href="admin_home.asp">论坛管理中心</A>
<BR><img src="<%=strImageURL %>icon_blank.gif" border="0"><img src="<%=strImageURL %>icon_bar.gif" border="0"><img src="<% =strImageURL %>icon_folder_open.gif" border="0">&nbsp;<a href="admin_address_edit.asp">论坛IP管理中心</a>
<BR><img src="<%=strImageURL %>icon_blank.gif" border="0"><img src="<%=strImageURL %>icon_blank.gif" border="0"><img src="<%=strImageURL %>icon_bar.gif" border="0"><img src="<% =strImageURL %>icon_folder_open_topic.gif" border="0">&nbsp;添加IP记录信息
</FONT></TD>
  </TR>
</TABLE>
</TD>
</TR>
</TABLE>
<BR>
<%
strSQL = "SELECT C_STRIPProvince, C_STRIPDetail, C_STRIPStart, C_STRIPEnd"
strSQL = strSQL & " FROM " & strTablePrefix & "Address ORDER BY C_STRIPStart ASC"

set IpRS =  my_Conn.Execute (strSQL)

IpAddrTotal = 0
IpCount = 0
m_sIPAddress = -1
strIPAddrHead_End_Prev = 0
strIPAddrHead_End_Now = 0
strIPAddrTail_End_Prev = 0
strIPAddrTail_End_Now = 0

IPAddrHeader_10 = 0
IPAddrHeader_61 = 0
IPAddrHeader_192 = 0
IPAddrHeader_202 = 0
IPAddrHeader_210 = 0
IPAddrHeader_other = 0

If IpRS.EOF or IpRS.BOF then
	'没有任何IP记录
else
	IpRS.MoveFirst
	do until IpRS.EOF
		IPStart = IpRS("C_STRIPStart")
		IPEnd = IpRS("C_STRIPEnd")
		sIPAddress = GetIPAddrFirst(IPStart)
		select case sIPAddress
			case 10
				IPAddrHeader_10 = IPAddrHeader_10 + 1
			case 61
				IPAddrHeader_61 = IPAddrHeader_61 + 1
			case 192
				IPAddrHeader_192 = IPAddrHeader_192 + 1
			case 202
				IPAddrHeader_202 = IPAddrHeader_202 + 1
			case 210
				IPAddrHeader_210 = IPAddrHeader_210 + 1
			case else
				IPAddrHeader_other = IPAddrHeader_other + 1
		end select

		strIPAddrValue_Start = GetIPAddrValue(IPStart)
		strIPAddrValue_End = GetIPAddrValue(IPEnd)

		if IpAddrTotal = 0 then
			strIPAddrHead_End_Prev = strIPAddrValue_Start
			strIPAddrTail_End_Prev = strIPAddrValue_End
		elseif IpAddrTotal = 1 then
			strIPAddrHead_End_Now = strIPAddrValue_Start
			strIPAddrTail_End_Now = strIPAddrValue_End
		else
			strIPAddrHead_End_Prev = strIPAddrHead_End_Now
			strIPAddrHead_End_Now = strIPAddrValue_Start
			strIPAddrTail_End_Prev = strIPAddrTail_End_Now
			strIPAddrTail_End_Now = strIPAddrValue_End
		end if

		if m_sIPAddress = -1 then
			m_sIPAddress = sIPAddress
			IPAddr_other_Start_Head = strIPAddrValue_Start
			IPAddr_other_Start_Tail = strIPAddrValue_End
		else
			if sIPAddress <> m_sIPAddress then
				select case sIPAddress
					case 10
						IPAddr_10_Start_Head = strIPAddrValue_Start
						IPAddr_10_Start_Tail = strIPAddrValue_End
					case 61
						IPAddr_61_Start_Head = strIPAddrValue_Start
						IPAddr_61_Start_Tail = strIPAddrValue_End
					case 192
						IPAddr_192_Start_Head = strIPAddrValue_Start
						IPAddr_192_Start_Tail = strIPAddrValue_End
					case 202
						IPAddr_202_Start_Head = strIPAddrValue_Start
						IPAddr_202_Start_Tail = strIPAddrValue_End
					case 210
						IPAddr_210_Start_Head = strIPAddrValue_Start
						IPAddr_210_Start_Tail = strIPAddrValue_End
					case else
						if sIPAddress > 210 then
							IPAddr_other_End_Head = strIPAddrValue_Start
							IPAddr_other_End_Tail = strIPAddrValue_End
						end if
				end select

				select case m_sIPAddress
					case 10
						IPAddr_10_End_Head = strIPAddrHead_End_Prev
						IPAddr_10_End_Tail = strIPAddrTail_End_Prev
					case 61
						IPAddr_61_End_Head = strIPAddrHead_End_Prev
						IPAddr_61_End_Tail = strIPAddrTail_End_Prev
					case 192
						IPAddr_192_End_Head = strIPAddrHead_End_Prev
						IPAddr_192_End_Tail = strIPAddrTail_End_Prev
					case 202
						IPAddr_202_End_Head = strIPAddrHead_End_Prev
						IPAddr_202_End_Tail = strIPAddrTail_End_Prev
					case 210
						IPAddr_210_End_Head = strIPAddrHead_End_Prev
						IPAddr_210_End_Tail = strIPAddrTail_End_Prev
					'case else
				end select
				m_sIPAddress = sIPAddress
			end if
		end if
		IpAddrTotal = IpAddrTotal + 1
		IpRS.MoveNext
	loop
End if
IpRS.close
Set IpRS = nothing
%>
<form method=POST action="admin_address_add.asp">
<div align=center>
<table bgcolor="<% =strTableBorderColor %>" cellpadding=2 border=0 cellspacing=1 width=400 align="center">
  <tr>
   <td bgcolor="<% =strHeadCellColor %>" width=400 align=center valign=top nowrap colspan="2">
   <img src="" width =5 height=4><br>增添一条IP记录信息
  </td>
  </tr>
  <tr>
   <td bgcolor="<% =strForumCellColor %>" align=left valign=top nowrap width=110>&nbsp;IP起始地址:</td>
   <td bgcolor="<% =strForumCellColor %>" align=left valign=top nowrap width=290>&nbsp;<input name=IPStart size=18>&nbsp;例如: 192.168.0.1</td>
  </tr>
  <tr>
   <td bgcolor="<% =strAltForumCellColor %>" align=left valign=top nowrap width=110>&nbsp;IP结束地址:</td>
   <td bgcolor="<% =strAltForumCellColor %>" align=left valign=top nowrap width=290>&nbsp;<input name=IPEnd size=18>&nbsp;例如: 192.168.0.255</td>
  </tr>
  <tr>
   <td bgcolor="<% =strForumCellColor %>" align=left valign=top nowrap width=110>&nbsp;国家(省份):</td>
   <td bgcolor="<% =strForumCellColor %>" align=left valign=top nowrap width=290>&nbsp;<input name=Province size=18>&nbsp;例如: 中国福建</td>
  </tr>
  <tr>
   <td bgcolor="<% =strAltForumCellColor %>" align=left valign=top nowrap width=110>&nbsp;城市(详细说明):</td>
   <td bgcolor="<% =strAltForumCellColor %>" align=left valign=top nowrap width=290>&nbsp;<input name=City size=22>&nbsp;例如: 福州地区</td>
  </tr>
  <tr>
   <td bgcolor="<% =strForumCellColor %>" align=left valign=top nowrap width=400 colspan=2>
   <input type=hidden name=mode value="add_ip"></td>
  </tr>
  <tr>
     <td bgcolor="<% =strAltForumCellColor %>" align=center valign=top nowrap width=400 colspan=2>
	<img src="" width =5 height=5><br><input type=submit name=submit value="添  加">&nbsp;&nbsp;<input type=button name=cancel value="重  置"><br>
     </td>
  </tr>
 </table>
</div>
</form>
<!--#INCLUDE file="inc_footer.asp" -->
<% else %>
<% Response.Redirect "admin_login.asp?Method=ip_edit" %>
<% end if %>
<%
function ChkIPString(fString)
	' 检查IP字符串的正确性
	if fString = "" then
		' IP地址为空
		ChkIPString = False
	else
		DotArray = Split(fString, ".")
		
		if UBound(DotArray) <> 3 then
			' 非法的IP
			ChkIPString = False
		else
			For i = 0 to UBound(DotArray)
				If Not IsNumeric(DotArray(i)) then
					' 不是纯数字字符串
					ChkIPString = False
					exit function
				end if
			Next
			' 正确的IP
			ChkIPString = True
		end if
	end if
end function

function GetIPAddrLong(fString)
	' 获得IP字符串的整型值
	if fString = "" then
		GetIPAddrLong = 0
	else
		DotArray = Split(fString, ".")
		if UBound(DotArray) = 3 then
			GetIPAddrLong = DotArray(3)*256*256*256 + DotArray(2)*256*256 + DotArray(1)*256 + DotArray(0) - 1
		else
			GetIPAddrLong = 0
		end if
	end if
end function

function GetLineColor(fLine)
	' 获得显示行的背景颜色
	if (fLine Mod 2) = 0 then
		GetLineColor = strForumCellColor
	else
		GetLineColor = strAltForumCellColor
	end if
end function

function GetIPAreaName(fLine)
	' 获得IP段名
	strSP ="&nbsp;&nbsp;"
	select case fLine
		case 0
			GetIPAreaName = strSP & "以 <b>10</b> 起头的IP段"
		case 1
			GetIPAreaName = strSP & "以 <b>61</b> 起头的IP段"
		case 2
			GetIPAreaName = strSP & "以 <b>192</b> 起头的IP段"
		case 3
			GetIPAreaName = strSP & "以 <b>202</b> 起头的IP段"
		case 4
			GetIPAreaName = strSP & "以 <b>210</b> 起头的IP段"
		case 5
			GetIPAreaName = strSP & "<b>其他国家的</b> IP段"
		case else
			GetIPAreaName = strSP & "<font color=#ff000>未知IP段</font>"
	end select
end function

function GetIPStartAddr_Head(fLine)
	' 获得IP段首记录起始地址
	select case fLine
		case 0
			GetIPStartAddr_Head = IPAddr_10_Start_Head
		case 1
			GetIPStartAddr_Head = IPAddr_61_Start_Head
		case 2
			GetIPStartAddr_Head = IPAddr_192_Start_Head
		case 3
			GetIPStartAddr_Head = IPAddr_202_Start_Head
		case 4
			GetIPStartAddr_Head = IPAddr_210_Start_Head
		case 5
			GetIPStartAddr_Head = IPAddr_other_Start_Head
		case else
			GetIPStartAddr_Head = "0.0.0.1"
	end select
end function

function GetIPStartAddr_Tail(fLine)
	' 获得IP段首记录结尾地址
	select case fLine
		case 0
			GetIPStartAddr_Tail = IPAddr_10_Start_Tail
		case 1
			GetIPStartAddr_Tail = IPAddr_61_Start_Tail
		case 2
			GetIPStartAddr_Tail = IPAddr_192_Start_Tail
		case 3
			GetIPStartAddr_Tail = IPAddr_202_Start_Tail
		case 4
			GetIPStartAddr_Tail = IPAddr_210_Start_Tail
		case 5
			GetIPStartAddr_Tail = IPAddr_other_Start_Tail
		case else
			GetIPStartAddr_Tail = "0.0.0.1"
	end select
end function

function GetIPEndAddr_Head(fLine)
	' 获得IP段末记录起始地址
	select case fLine
		case 0
			GetIPEndAddr_Head = IPAddr_10_End_Head
		case 1
			GetIPEndAddr_Head = IPAddr_61_End_Head
		case 2
			GetIPEndAddr_Head = IPAddr_192_End_Head
		case 3
			GetIPEndAddr_Head = IPAddr_202_End_Head
		case 4
			GetIPEndAddr_Head = IPAddr_210_End_Head
		case 5
			GetIPEndAddr_Head = IPAddr_other_End_Head
		case else
			GetIPEndAddr_Head = "255.255.255.255"
	end select
end function

function GetIPEndAddr_Tail(fLine)
	' 获得IP段末记录结尾地址
	select case fLine
		case 0
			GetIPEndAddr_Tail = IPAddr_10_End_Tail
		case 1
			GetIPEndAddr_Tail = IPAddr_61_End_Tail
		case 2
			GetIPEndAddr_Tail = IPAddr_192_End_Tail
		case 3
			GetIPEndAddr_Tail = IPAddr_202_End_Tail
		case 4
			GetIPEndAddr_Tail = IPAddr_210_End_Tail
		case 5
			GetIPEndAddr_Tail = IPAddr_other_End_Tail
		case else
			GetIPEndAddr_Tail = "255.255.255.255"
	end select
end function

function GetIPAddrCount(fLine)
	' 获得IP地址段的记录数
	select case fLine
		case 0
			GetIPAddrCount = IPAddrHeader_10
		case 1
			GetIPAddrCount = IPAddrHeader_61
		case 2
			GetIPAddrCount = IPAddrHeader_192
		case 3
			GetIPAddrCount = IPAddrHeader_202
		case 4
			GetIPAddrCount = IPAddrHeader_210
		case 5
			GetIPAddrCount = IPAddrHeader_other
		case else
			GetIPAddrCount = 0
	end select
end function

function GetIPAreaComment(fLine)
	' 获得IP段名
	strSP ="&nbsp;&nbsp;&nbsp;"
	select case fLine
		case 0
			GetIPAreaComment = strSP & "以前国内的169多媒体公众网的网段,已很少使用。"
		case 1
			GetIPAreaComment = strSP & "中国大陆新分配的IP段,数据有待完善。"
		case 2
			GetIPAreaComment = strSP & "这是内部网常用的IP段,局域网保留地址段。"
		case 3
			GetIPAreaComment = strSP & "国内最早使用的IP段,但不仅仅只是中国使用。"
		case 4
			GetIPAreaComment = strSP & "中国教育网、一些专线和网站使用的IP段。"
		case 5
			GetIPAreaComment = strSP & "其他国家的IP段,包括世界上大多数国家的IP。"
		case else
			GetIPAreaComment = strSP & "<font color=#ff000>未知IP段,没有详细说明。</font>"
	end select
end function

function GetIPAddrFirst(fIPAddress)
	' 获得IP地址的第一位
	if fIPAddress = "" then
		GetIPAddrFirst = 0
	else
		GetIPAddrFirst = Int(fIPAddress / &H1000000)
	end if
end function

function GetIPAddrValue(fIPAddress)
	' 获得IP地址的值
	if fIPAddress = "" then
		GetIPAddrValue = "0.0.0.0"
		exit function
	else
		sIPAddrFirst = Int(fIPAddress / &H1000000)
		tmpAddress = fIPAddress - sIPAddrFirst * &H1000000

		sIPAddrLast = Int(tmpAddress Mod &H100)
		tmpAddress = Int(tmpAddress / &H100)

		sIPAddrThird = Int(tmpAddress Mod &H100)
		tmpAddress = Int(tmpAddress / &H100)

		sIPAddrSecond = Int(tmpAddress Mod &H100)
		tmpAddress = Int(tmpAddress / &H100)
	end if
	GetIPAddrValue = CStr(sIPAddrFirst) & "." & CStr(sIPAddrSecond) & "." & CStr(sIPAddrThird) & "." & CStr(sIPAddrLast)
end function
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -