我的视频站要限制用户的观看次数,目前采用cookies和IP辨别的方法。
但是只有用户清除cookies或断开adsl后,还是照样可以访问。
有什么高招吗?

解决方案 »

  1.   

    没有什么绝对有效地方法,你只要针对大多数用户就是了。
    看你一个网页有必要断ADSL么。
    你的数据很重要的话,就设立用户。
      

  2.   

    参考:
    http://school.itzcn.com/special-spid-30.html
    上面讲解的比较详细,
    希望对楼主有所帮助。
      

  3.   

    用一个session变量外加上两把锁就搞定了:具体代码
    <?
    session_start();
    //从count.txt文件读取数据
    $fr=fopen("count.txt","r");
    flock($fr,LOCK_SH);//表示其他客户端不能对该文件进行写操作 但是可以进行读操作
    $count=fread($fr,filesize("count.txt"));
    fclose($fr);
    //定义一个变量
    if($_SESSION["flag"]=="")
    {
    //把访问次数加一  100
    $count=$count+1;
    //把新的访问次数重新写入到文件中
    $fw=fopen("count.txt","w");
    flock($fw,LOCK_EX);//独占锁 表示其他的客户端不能对该文件执行任何操作
    fwrite($fw,$count);
    fclose($fw);
    $_SESSION["flag"]="ok";
    }
    ?>
      

  4.   

    但是只要用户清除cookie,或更换IP就可以继续看啊。
    可以通过注册用户名来限制,但是我也希望游客也可以看几次。
      

  5.   

    網站能獲取客戶端相對比較穩定的信息,也就是IP了
    我相信你也不會用客戶端類型來判斷吧能記錄在遠程客戶端的信息也就只有COOKIE了
      

  6.   


    你的要求不能做到因为客户端是不定因素, 可以随时作出改变,而cookie和ip也不确定的, 最多也中是防一般不懂编程的人, 没有恒定值来作为条件判断对方身份的依据, 所以不能。若要真的实现这个功能, 只能是间隔时间内限定注册帐号, 用帐号来登录浏览。
      

  7.   

    判断用户session,没登录的肯定为空,那就设置只能看x分钟,然后页面友好关闭,这样每次他都只能看重复的X分钟就不能看了;不为空的肯定是注册用户就可以无限制的看了!