function block_browser()
{
    $agent = $_SERVER["HTTP_USER_AGENT"];
    if (preg_match("/^Mozilla/", $agent) || preg_match("/^Opera/", $agent) || preg_match("/^Links/", $agent) || preg_match("/^Lynx/", $agent)) {
        err("Browser access blocked!");
    }
    // check headers
    if (function_exists('getallheaders')) {
        $headers = getallheaders();
    } else {
        $headers = emu_getallheaders();
    }
    if ($_SERVER["HTTPS"] != "on") {
        if (isset($headers["Cookie"]) || isset($headers["Accept-Charset"])) {
            err("Anti-Cheater: You cannot use this agent");
        }
    }
}
    }
}
$resp .= ($compact ? benc_str($plist) : '') . (substr($peer_id, 0, 4) == '-BC0' ? "e7:privatei1ee" : "ee");
$selfwhere = 'torrent = ' . $torrentid . ' AND passkey = ' . sqlesc($passkey);
if (!isset($self)) {
    $res = mysql_query('SELECT ' . $fields . ' FROM peers WHERE ' . $selfwhere) or err(mysql_error());
    $row = mysql_fetch_array($res);
    if ($row) {
        $userid = $row['userid'];
        $self = $row;
    }
}
if (function_exists('getallheaders')) {
    $headers = getallheaders();
} else {
    $headers = emu_getallheaders();
}
if (isset($headers['Cookie']) || isset($headers['Accept-Language']) || isset($headers['Accept-Charset'])) {
    err('Anti-Cheater: You cannot use this agent');
}
$announce_wait = 10;
if (isset($self) && $self['prevts'] > $self['nowts'] - $announce_wait) {
    err('There is a minimum announce time of ' . $announce_wait . ' seconds');
}
if (!isset($self)) {
    $rz = mysql_query('SELECT id, uploaded, downloaded, class, parked, passkey_ip FROM users WHERE passkey=' . sqlesc($passkey) . ' ORDER BY last_access DESC LIMIT 1') or err('Tracker error 2');
    if (mysql_num_rows($rz) == 0) {
        err('Unknown passkey. Please redownload the torrent from ' . $BASEURL . ' - READ THE FAQ!');
    }
    $az = mysql_fetch_array($rz);
    $userid = 0 + $az['id'];
Beispiel #3
0
 function getallheaders()
 {
     return emu_getallheaders();
 }