-1

我创建了我自己的聊天版本.. http://css-tricks.com/jquery-php-chat/。一切正常,人们可以登录、发送消息和查看其他人的消息。甚至还有谁在房间里的名单。我还有一个需要密码的 ADMIN 帐户。

我的问题是我想不出创建“块功能”的好方法或将用户踢出窗口/聊天室的其他方法,以便以防万一房间里有吵闹的人,作为管理员我可以阻止他或将他踢出去或类似的事情。

有没有人有一个简单的方法来做到这一点?

将名称保存到列表的 PHP 文件..

$function = $_POST['function'];
$name = $_POST['name'];
$filename = "chatList.txt";

 switch($function) {

     case('writeName'):
        $fo = fopen($filename,'a');
        fwrite($fo, $name."\r\n");
        fclose($fo);
        break;

     case('deleteName'):
        $file = file_get_contents($filename);
        $fo = fopen($filename,'w');
        $str =  str_replace($name."\r\n","",$file,$count);
        fwrite($fo, $str, strlen($str));
        fclose($fo);
        for($i = 0; $i < $count-1; $i++)
        {   
            $fo = fopen($filename,'a');
            fwrite($fo, $name."\r\n");
            fclose($fo);  
        }

        break;

    case('updateList'):
         $fo = fopen($filename,'r');
         if($fo)
         {
            $array = explode('\r\n', fread($fo, filesize($filename)));
         }
         echo json_encode($array);

         break;


}
4

2 回答 2

0

1)找出你的用户的IP是什么:

function getIP() {
 $ip;
 if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); 
  elseif(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); 
  elseif(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
  else $ip = "UNKNOWN";
 return $ip;
}

2) 修改您的删除、更新和写入函数,以便它们也写入 ip 地址 3) 使用用户的 ip 调用删除函数并完成!

于 2012-11-09T20:52:44.357 回答
0

我能够从列表中删除此人,然后添加一个 if 语句以阻止他们发送消息...

if(!$('#online div#usernames:contains('+name+')').length > 0){
                alert('You have been blocked!');
                return; 
            }
于 2012-11-09T21:04:33.563 回答