• 您当前位置:网站首页 >> ASP技术 >> 用ASP隐藏IP末位完整版
  • 用ASP隐藏IP末位完整版

    iCoA首席特工 逍遥峡谷 发布:2010-07-10 更新:2010-07-10 浏览4条评论
    内容简介

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

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

    本文链接:https://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/asp/ip.asp 

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

    本文链接:https://www.icoa.cn/a/331.html
    关键词: IP   隐藏   末位   星号   ASP  


    如果您愿意支持本站,欢迎点击打赏哦~



    下一篇:通过在ASP中定义数组轻松输出今日周几

    上一篇:用ASP内建对象轻松做网址域名自动跳转(下)


    - 相关文章 -


    ASP用replace()替换字符串的用法 - 2011-05-21

    用ASP内建对象轻松做网址域名自动跳转(下) - 2010-06-29

    ASP不能用 '..' 表示父目录解决办法 - 2011-05-15

    ASP字符串InStr函数用来判断是否含有某些字符串 - 2010-06-12

    用ASP判断客户端浏览器语言自动跳转代码 - 2010-06-12

    网址URL代码(urlcode)用ASP编码与解码的方法 - 2011-05-05

    用ASP内建对象轻松做网址域名自动跳转(上) - 2010-06-01

    关于学习ASP和编程的28个观点 - 2010-02-05


    - 文章评论 -




    8636

    [由于政策原因,您的留言如果提交成功后,需要审核才能展示,请改天再来查看,请不要重复提交,谢谢支持!]

    - 最新评论[4条评论] -


    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

    麻烦麻烦麻烦

    [>>>点击查看更多评论]

    版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 | 逍遥峡谷 · 酷品优选
    Copyright©Interstellar Central Occult Agency (I.C.O.A)
    本局纯属虚构,如有雷同,纯属巧合

    冀公网安备13011102001055号 · 冀ICP备06033848号