Exemplo n.º 1
0
 public function onMessageReceived(SocketServer $server, SocketClient $sender, $message)
 {
     if (!$sender->verified) {
         $cookies = $this->parseCookies(@$sender->headers['Cookie'] ?: "");
         $sender->verified = $this->auth($cookies);
         if (!$sender->verified) {
             $sender->send(array('type' => 'error', 'error' => 'Auth failed'));
             $sender->disconnect();
             return;
         }
     }
     echo "MESSAGE DATA: " . $message . "\n";
     $data = json_decode($message);
     if ($data) {
         if ($data->type == 'kill' && $sender->process) {
             $sender->process->stop();
         } elseif ($data->type == 'shell' && $data->cmd) {
             if ($sender->process) {
                 $sender->process->stop();
                 usleep(1000 * 10);
             }
             $process = new Process($data->cmd);
             $process->start(function ($type, $buffer) use($sender) {
                 if (Process::ERR !== $type) {
                     $sender->buffer = $sender->buffer ?: "";
                     $sender->buffer .= $buffer;
                 } else {
                 }
             });
             $sender->process = $process;
         }
     }
 }
Exemplo n.º 2
0
 function action_deletemsg()
 {
     if (!isset($_COOKIE['username'])) {
         header("Location: /");
         die;
     }
     $this->model = new ModelMessage($_POST['msgid'], $_COOKIE['username'], null, 1, null, null);
     $res = $this->model->deleteMessage();
     if ($res) {
         echo 'success';
         $arr = array('action' => 'deletemsg', 'user' => $_COOKIE['username'], 'msgid' => $_POST['msgid']);
         $message = json_encode($arr);
         $sock = new SocketClient();
         $sock->connect('localhost', 8000, '/');
         $sock->sendData($message);
         $sock->disconnect();
     }
 }
Exemplo n.º 3
0
<?php

require_once 'SocketClient.php';
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
$sock = new SocketClient();
$sock->connect('localhost', 8000, '/');
$sock->sendData('test');
$sock->disconnect();