俺只会html语言写点简单网页,请问纯粹html语言能不能实现禁止某段ip访问?
不要求特殊比如弹出错误页面等,就ping不通一样就可以了如果必须要程序实现的吧,俺真成文盲了
不过我知道我的空间支持php和my sql的,不知道如何用php实现禁止某段ip访问并嵌入网页中

解决方案 »

  1.   

    如果只有一个服务的话,扔iptables里去
      

  2.   

    你的空间商也提供这种免费服务,你要自己实现写PHP代码,
      

  3.   

    用户访问的时候取到用户ip,把想禁止的ip存到数据库进行对比,不让登录就ok了
      

  4.   


    如果楼主是要做点程序功能
    那这建议就对了
    步骤很简单
    1 - 往数据库中插入你说禁止的ip
    2 - 每次用户来访 用php调出他的ip
    3 - 和数据库对比一下 如果匹配则禁止另外还要考虑路由器和动态ip的问题哦不懂再问!
      

  5.   

    [code]
    <?php
    //判断IP
    //===================
    //获取访问者的IP
    if($_SERVER['HTTP_X_FORWARDED_FOR']){
         $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }elseif($_SERVER['HTTP_CLIENT_IP']){
         $onlineip=$_SERVER['HTTP_CLIENT_IP'];
    }else{
         $onlineip=$_SERVER['REMOTE_ADDR'];
    }
    $onlineip =substrs($onlineip,16);
    //截取IP
    function substrs($content,$length) {
            if($length && strlen($content)>$length){
                    $num=0;
                    for($i=0;$i<$length-3;$i++) {
                            if(ord($content[$i])>127){
                                    $num++;
                            }
                    }
                    $num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
                    $content.='..';
            }
            return $content;
    }
    //分析IP是否在 列表内
    function cvipfrom($ip){
            global $ipa0;
            $d_ip=explode(".",$ip);
            $f_n=file_exists("./ipdata/$d_ip[0].txt") ? "./ipdata/$d_ip[0].txt" : './ipdata/0.txt';
            $ip=implode('.',d_ip($d_ip));
            $db=fopen($f_n,"rb");
            flock($db,LOCK_SH);
            $d=fread($db,filesize($f_n));
            $s_ip="\n$d_ip[0].$d_ip[1].$d_ip[2]";
            if($s=strpos($d,$s_ip)){
                    !($f=s_ip($db,$s,$ip)) && list($l_d,$ff)=nset($db);
            }else{        
                    $s_ip="\n$d_ip[0].$d_ip[1]";
                    if($s=strpos($d,$s_ip)){
                            !($f=s_ip($db,$s,$ip)) && list($l_d,$ff)=nset($db);
                    }elseif($s=strpos($d,"\n$d_ip[0]") && $f_n=='./ipdata/0.txt'){ 
                            $s_ip="\n$d_ip[0]";
                            !($f=s_ip($db,$s,$ip)) && list($l_d,$ff)=nset($db);
                    }else{
                            $f='';//IP 没有在受限列表内就返回空
                    }
            }
            if(empty($f) && $s!==false){
                    while(ereg("^$s_ip","\n".$l_d)!==false){
                            if($ipa0==1 || $f=s_ip($db,$s,$ip,$l_d)) break;
                            list($l_d,$cff)=nset($db);
                            $cff && $ff=$cff;
                    }
            }
            fclose($db);
            return $f ? $f : $ff;
    }
    function s_ip($db,$s,$ip,$l_d=''){
            global $ipa0;
            if(!$l_d){
                    fseek($db,$s+1,SEEK_SET);
                    $l_d=fgets($db,100);
            }
            $ip_a=explode("\t",$l_d);
            $ip_a[0]=implode('.',d_ip(explode('.',$ip_a[0])));
            $ip_a[1]=implode('.',d_ip(explode('.',$ip_a[1])));
            if($ip<$ip_a[0]) $ipa0=1;
            if ($ip>=$ip_a[0] && $ip<=$ip_a[1]) return $ip_a[2].$ip_a[3];
    }
    function nset($db){
            $l_d=fgets($db,100);
            $ip_a=explode("\t",$l_d);
            return array($l_d,$ip_a[2].$ip_a[3]);
    }
    function d_ip($d_ip){
            for($i=0; $i<=3; $i++){
                    $d_ip[$i]     = sprintf("%03d", $d_ip[$i]);
            }
            return $d_ip;
    }
    $ipfrom=cvipfrom($onlineip);
    if(!empty($ipfrom)){ //ipfrom IP来源不为空...禁止访问 显示 FUCK YOU
        die("fuck you");
    }
    ?>
    [/code]