每当用户登录服务端网页的时候 会创建一个session 来保存用户的用户名session_register(G_USERNAME)和各种用户的信息,可是在有个页面里面要调用linux删除命令 可是当有很多用户访问这个页面的时候 服务器就会很占内存 所以要限制这个页面的访问人数
这就用到了 多用户共享sessionsession_id(md5("static_key"));//多用户共享一份session文件
session_start();  if(!isset($_SESSION['G']) ){
   $_SESSION['G'] = 0 ;
  }
   $_SESSION['G']++;
exec("rm -rf \"$G_HOME\"")
  
  $_SESSION['G']--;
session_register("_SESSION['G']");如上代码 当 $_SESSION['G']大于1的时候 就不能执行rm命令 可是这样写的话每个用户 只能用同一个ID来访问这个页面 就代表 原用户的session就没了 
现在能不能 在保持个用户session的基础上面 再创建一个全局session文件 来限制用户使用rm命令呀写的有点乱 请大家海涵

解决方案 »

  1.   

    我在那一贴有跟你说过这个问题呀,这样设置session_id的话是多用户共享同一份session文件,不设置的话各自拥有自己的session文件,通过系统自动生成的各自唯一的session_id作为key去读取session文件。所以要想保持原先的每个用户独享各自session(一般都这么处理),又想共享某些数据,我的建议是数据库或者文本文件。
      

  2.   

    既然你只使用php默认的session文件方式
    那么为什么不可以用文件方式来加锁呢?
    于是,只需要一个基于文件的访问计数器