asp如何控制外网对服务器端口的访问

发布时间:2024-05-13 16:49 发布:上海旅游网

问题描述:

请教高手,有什么办法可以实现asp程序控制外网对服务器的指定的端口访问。比如说我建立个数据库,里面存放广域网IP,通过asp来控制任意IP访问服务器的4000端口,如果授权就可以访问,不授权就拒绝访问。如果能解决这个问题小弟奉送全分。
1楼的方法不错,但是我要是的是控制任意端口,比如说我的机器端口3936端口对外是关闭的,我只对数据库存在的IP段授权访问3936这个端口。我想应该需要什么组件吧?

问题解答:

我只对数据库存在的IP段授权访问3936这个端口,是什么意思?

有3种方法

1.通过路由来设定

2.通过IIS来设定,IIS安全里有设置IP访问

3.通过ASP代码来实现。用访问的IP段来实现控制IP访问

方法:首先在数据库建立IP段表fangwen_ip。。设2个文本字段 一个是起始IP fangwen_starip,另个是结束IP fangwen_stopip

之后在index.asp放入如下代码,通过后转入登录的页面

<%
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
end if
arr=split(userip,".")
IPNUMS=int(arr(0))*16777216+int(arr(1))*65536+int(arr(2))*256+int(arr(3))-1

ipsql="select * from fangwen_ip"
set iprs=conn.execute(ipsql)
if not iprs.eof and not iprs.bof then
do while not iprs.eof
starip=iprs("fangwen_starip")
stopip=iprs("fangwen_stopip")
sip=split(starip,".")
ks_ip=int(sip(0))*16777216+int(sip(1))*65536+int(sip(2))*256+int(sip(3))-1
eip=split(stopip,".")
js_ip=int(eip(0))*16777216+int(eip(1))*65536+int(eip(2))*256+int(eip(3))-1

if IPNUMS>ks_ip and IPNUMS<js_ip then
response.redirect "进入登陆页,自己设"
else
response.write "<font color=red size=4><b>对不起,您不该来这里,请走吧!</b></font>"
end if
iprs.movenext
loop
else
response.redirect "进入登陆页,自己设"
end if
iprs.close
set iprs=nothing
%>

以上是我写的,仅供参考。ASP代码已测试,可以用

热点新闻