Sitemap Rss
·您当前位置:网站首页 >> ASP技术 >> 阅读文章

用ASP隐藏IP末位完整版

来源:逍遥峡谷 发布时间:2010-07-10 浏览4条评论
内容简介

有时候我们需要显示来访客户的IP,但是又不能泄露客户的隐私,就需要隐藏IP的后几位,显示类似于:222.222.222.* 。我们可以用ASP来实现隐藏IP末位的功能

相关关键词:IP   隐藏   末位   星号   ASP  

本文链接:http://www.icoa.cn/a/331.html [复制网址]

有时候我们需要显示来访客户的IP,但是又不能泄露客户的隐私,就需要隐藏IP的后几位,显示类似于:222.222.222.* 

简单的说可以用left来实现:

<%=left(rs("IP"),12)%>*

但是它有局限性就是只能隐藏前三段都是三位的IP,非常不方便。那么我们可以用Len取总位数减去想隐藏的位数。

即:

<%=left(rs("IP"),(len(rs(IP))-3))%>

这样就可以隐藏任何IP的后三位。不过这个仍然有缺陷,对于类似于127.0.0.1/8.8.8.8之类的IP显示出来分别是127.0.* 和 8.8.*,而不是127.0.0.* 和 8.8.8.* 这个就需要拓展思路了。

那么我们看看不同的IP用上面方法隐藏的效果吧:

222.222.222.222  隐藏后 222.222.222.*
192.168.1.19  隐藏后 192.168.1*
8.8.8.8  隐藏后 8.8.*

而我们要求的效果是:222.222.222.*/192.168.1.*/8.8.8.*

也就说如果隐藏末位的话需要做一个判断,判断末位也就是最后一个“.”之后有几位,想起前段时间学习的intStr函数,于是写代码如下:

<%
dim ip,ipV3,ipV2   ' 首先定义几个变量,这是我的个人习惯,其实不用定义也可以使用的,以免下面变量重复
ip=Request.ServerVariables("REMOTE_ADDR")  ' 读取客户IP
ipV3=right(ip,3)  ' 右取整个IP的三位数
ipV2=right(ip,2)  ' 右取整个IP的两位数

if instr(ipV3,".")=0 then   ' 判断右边三位数里面是否含有“.”,如果没有,那么代表末位是三位数
response.Write(left(ip,len(ip)-3)&"*")   ' 隐藏右边三位数
elseif instr(ipV2,".")=0 then   ' 判断右边两位数如果没有含有“.”,那么代表末位是两位数
response.Write(left(ip,len(ip)-2)&"*")   ' 隐藏右边两位数
else   ' 如果上述条件都不满足那么代表末位是一个数字
response.Write(left(ip,len(ip)-1)&"*")   ' 隐藏右边一位数
end if
%>

这样就可以完美实现不同IP都可以准确隐藏末位,显示类似于192.168.1.* 和 222.222.222.*

我将上面这段程序上传到了空间,大家可以测试一下。

http://www.icoa.cn/demo/ip.asp

参考资料:
1.ASP字符串InStr函数用来判断是否含有某些字符串
http://www.icoa.cn/a/317.html
2.ASP隐藏IP后末位和手机中间四位数
http://liboseo.com/4.html

本文链接:http://www.icoa.cn/a/331.html
关键词: IP   隐藏   末位   星号   ASP  
上一篇:通过在ASP中定义数组轻松输出今日周几
下一篇:用ASP内建对象轻松做网址域名自动跳转(下)
相关文章
·eWebEditor编辑器在IE8/IE7下无法使用解决方法 2010-07-28 11:08:02
·用ASP程序将html代码转换为文本格式输出 2010-07-26 10:49:01
·通过在ASP中定义数组轻松输出今日周几 2010-07-17 15:11:30
·用ASP隐藏IP末位完整版 2010-07-10 10:43:47
·ASP错误代码表及原因 2009-08-04 08:39:35
·ASP用replace()替换字符串的用法 2011-05-21 09:11:50
·用ASP内建对象轻松做网址域名自动跳转(下) 2010-06-29 08:34:43
·ASP不能用 '..' 表示父目录解决办法 2011-05-15 17:54:24
文章评论
Kenneth<2016-04-12 22:39:35>评论说:
<%=left(IP,inStrRev(IP,"."))%>
搞定

iCoA.cn<2010-11-09 16:40:43>评论说:
楼上的不失为一个好办法,有时间我试试,O(∩_∩)O~

笑笑<2010-11-09 15:10:17>评论说:
'定义IP地址
IP="45.78.23.89"

'将IP地址转换为数组
ip_arr=Split(IP,".")
'取下标0-2即可
ip3=ip_arr(0)&"."&ip_arr(1)&"."&ip_arr(2) 

麻烦<2010-09-04 14:31:15>评论说:
麻烦麻烦麻烦

共有4条评论(点击查看)



3164

逍遥峡谷 逍遥乱弹 张立博 飓风团队 爱之路 酷品优选 宝贝派 张子涵


版权所有©逍遥峡谷 Copyright©Canyon of Airily 冀ICP备06033848号