Exemple #1
0
 while (true) {
     phpsocks5_log("receive process 2 {$phpsid}");
     $rslt = mysql_query("SELECT id, cnt FROM {$dbprefix}recving WHERE sid = '" . $phpsid . "' ORDER BY id ASC LIMIT 1");
     if (!$rslt) {
         phpsocks5_http_500('mysql_query SELECT error');
     }
     phpsocks5_log("receive process 3 {$phpsid}");
     $row = mysql_fetch_row($rslt);
     phpsocks5_usleep(0);
     if ($row) {
         phpsocks5_log("receive process 4 {$phpsid}");
         mysql_query("DELETE FROM {$dbprefix}recving WHERE id = {$row['0']}");
         phpsocks5_usleep(0);
         if ($row[1]) {
             $cnt = base64_decode($row[1]);
             phpsocks5_log("receive process 5 {$phpsid} echo: " . phpsocks5_tohex($cnt));
             echo $prefix . phpsocks5_encrypt($cnt) . $postfix;
         } else {
             phpsocks5_http_500('break');
         }
         phpsocks5_log("receive process 6 {$phpsid}");
         break;
     }
     phpsocks5_log("receive process 7 {$phpsid}");
     $inv += $invstep;
     if ($inv > $invmax) {
         $inv = $invmax;
     }
     phpsocks5_log("receive process 8 {$phpsid}");
     phpsocks5_usleep($inv);
     phpsocks5_log("receive process 9 {$phpsid}");
{
    $ips = gethostbynamel($hostname);
    foreach ($ips as $ip) {
        if (socket_connect($socket, $ip, $port)) {
            return TRUE;
        }
    }
    return FALSE;
}
phpsocks5_log("process 1");
set_time_limit(60);
phpsocks5_log("process 2");
$postdata = file_get_contents("php://input");
phpsocks5_log("process 3 before decrypt postdata: " . phpsocks5_tohex($postdata));
$postdata = phpsocks5_decrypt($postdata);
phpsocks5_log("process 4 after decrypt postdata: " . phpsocks5_tohex($postdata));
if (!$postdata) {
    exit;
}
phpsocks5_log("process 5");
if ($postdata[0] != $version[0] || $postdata[1] != $version[1]) {
    phpsocks5_http_500('version not match');
}
phpsocks5_log("process 6");
if ($postdata[2] == "1") {
    phpsocks5_log("start session process 1");
    if (!session_start()) {
        phpsocks5_http_500('start session error');
    }
    phpsocks5_log("start session process 2");
} elseif ($postdata[2] == "2") {