求一段代码(ASP或者JS的),先判断IP地址,之后对受限IP段的访问者启用首页遮罩,遮罩透明就行,就是让受限IP访问者只能看首页就好,谢谢!!!

解决方案 »

  1.   

    可以通过服务器获取IP传给JS,我这里用的纯JS禁用IP设置的是一个,你可以根据需要自己设置,用的是控件获取IP,测试系统是vista,可能XP获取IP的正则会有区别,可以试我注释掉的那个正则得到IP
    <style type="text/css">
        <!--
        html,body {height:100%; margin:0px; font-size:12px;}    .mydiv {
            background-color: #f9fff6;
            border: 1px solid #009900;
            text-align: center;
            line-height: 25px;
            font-size: 13px;
            font-weight: bold;
            z-index:99;
            width: 300px;
            height: 50px;
            left:50%;/*FF IE7*/
            top:50%;/*FF IE7*/        margin-left:-150px!important;/*FF IE7 half of its width */
            margin-top:-60px!important;/*FF IE7 half of its height*/        margin-top:0px;        position:fixed!important;/*FF IE7*/
            position:absolute;/*IE6*/        _top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/    }
        .bg {
            background-color: #C2BEBF;
            width: 100%;
            height: 100%;
            left:0;
            top:0;/*FF IE7*/
            filter:alpha(opacity=40);/*IE*/
            opacity:0.4;/*FF*/
            z-index:1;        position:fixed!important;/*FF IE7*/
            position:absolute;/*IE6*/        _top:       expression(eval(document.compatMode &&
            document.compatMode=='CSS1Compat') ?
                documentElement.scrollTop + (document.documentElement.clientHeight-this.offsetHeight)/2 :/*IE6*/
                document.body.scrollTop + (document.body.clientHeight - this.clientHeight)/2);/*IE5 IE5.5*/    }
        -->
    </style>
    <script language="javascript" type="text/javascript">
        var DISABLEADDRESS="192.168.0.1"; //这里设置禁用IP或者IP段
        function showDiv(){
            if(document.all){
                document.getElementById('bg').innerHTML = "<iframe style='width:100%;height:100%;left:0px;top:0px;position:absolute;filter:alpha(opacity=0);z-index:-1;border:0px'/>";
            }
            document.getElementById('popDiv').style.display='block';
            document.getElementById('bg').style.display='block';
        }    function closeDiv(){
            document.getElementById('popDiv').style.display='none';
            document.getElementById('bg').style.display='none';
        }
        var IPAddres;
        function checkIp(){
            var   fso   =   new   ActiveXObject("Scripting.FileSystemObject");
            var   wsh   =   new   ActiveXObject("WScript.Shell");
            wsh.Run("command.com   /c   ipconfig   /all   >   C:\\ip.txt");
            var   f   =   fso.OpenTextFile("C:\\ip.txt");
            var   s   =   f.ReadAll();
            f.Close();
            var reg=/IP.*:\s*((\d{1,3}\.){3}(\d{1,3}))/i;
            IPAddres= s.match(reg)[1];
            alert(IPAddres)   //得到本机IP
          //  alert(s.match(/IP   Address(\.   )+\:   ((\d{1,3}\.){3}(\d{1,3}))/i)[2])
          if(IPAddres==DISABLEADDRESS){   //判断是否是禁用IP
              showDiv();
          }    }
    </script>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
            <title></title>    </head>    <body onload="checkIp()">
            <div id="popDiv" class="mydiv" style="display:none;">IP受限,禁止访问<br/>
                <!--<a href="javascript:closeDiv()">close</a>--></div>
            <div id="bg" class="bg" style="display:none;">        </div>
            <form id="frm1" name="frm1" action="new_page_2.htm" method="post">
                <input type="button" value="手动开启遮罩" onclick="showDiv()" />        </form>
        </body>
    </html>
      

  2.   


    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
    <%
    dim okflag,userip,forbidIPs,i
    okflag="yes"   
    forbidIPs=("210.12.12.12","123.123.123.123",...)  '受限制IP列表IP格式: "xxx.xxx.xxx.xxx" 加到这里面
    userip=Request.ServerVariables("REMOTE_ADDR") 
    for i=0 to ubound(forbidIPs)
        if userip=forbidIPs(i) then okflag="no"
        exit for
    next
    %>
    <html>
    <script language="javascript">
    function onlyLook(flag){
      if(flag=="no"){
       //你的遮罩处理函数....设置一个透明层遮罩整个屏幕
       var o=document.getElementById("hidelayer");
       o.offsetWidth=screen.offsetWidth; //如果不对就试下o.style.offsetWidth=screen.offsetWidth; //忘了这个,呵呵... :)
       o.offsetHeight=screen.offsetHeight; //同上
       o.style="filter:Alpha(Opacity=80);-moz-opacity:0.2;";//透明度调节0--100(MS),0-1(FF)
       o.style.display="block";
      }
    }
    </script>
    <body onload="javascript:onlyLook(<% =okflag %>);">
    <div id="hidelayer" style="top:0;left:0;display:none;">受限制IP,这里屏蔽了,仅观看<div>....也面内容...
    ....也面内容...
    ....也面内容...
    ....也面内容...
    ....也面内容...</body>
    </html>
    思路是这样,先判断用户IP,如果在受限制IP列表里面,就设置一个标志,页面加载时根据这个标志是否启动遮罩功能,标志为 no 则起用遮罩功能, 有分加不LZ?