<?php
function send_request($packet)
{
    $length = strlen($packet);
    $fp = fsockopen(__SERVER__, __PORT__);

    // send POST request with the packet
    fwrite($fp, "POST /server.php HTTP/1.0\n");
    fwrite($fp, "Host: " . __SERVER__ . "\n");
    fwrite($fp, "Content-Length: {$length}\n\n");
    fwrite($fp, "{$packet}\n");

    // get server response
    $data = '';
    while (($line = fread($fp, 10000))) {
        $data .= $line;
    }
    
    // terminate connection to server
    fclose($fp);

    return $data;
}

function make_request()
{
    $user = $_GET['login'];
    $password = md5($_GET['password']);
    
    $packet_id = wddx_packet_start("Authentication Request");
    wddx_add_vars($packet_id, 'user', 'password');
    $packet = wddx_packet_end($packet_id);

    // make a custom POST request to the server with the wddx packet
    return send_request($packet);
}    

function parse_response($data)
{
    // skip HTTP header
    $data = ltrim(strstr($data, "\r\n\r\n"));

    $vars = wddx_deserialize($data);
    if ($vars['login'] === TRUE) {
        return TRUE;
    } else { // uh oh, hackers
        printf("ERROR #%d: %s<br />\n", $vars['error'], $vars['error_str']);
        return FALSE;
    }
}
?>