Example #1
0
function set_voteip($salt)
{
    if (isset($_SESSION['voteip'])) {
        if (!isset($_COOKIE['voteip'])) {
            $addr = $_SESSION['voteip'];
            mk_cookie('voteip', $addr . '-' . md5($addr . $salt));
            $_SESSION['voteip'] = $addr;
        }
    } else {
        if (isset($_COOKIE['voteip'])) {
            $arr = explode('-', $_COOKIE['voteip'], 2);
            $addr = $arr[0];
            $hash = $arr[1];
            if (preg_match("/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\$/", $addr)) {
                if (md5($addr . $salt) != $hash) {
                    $addr = getenv("REMOTE_ADDR");
                }
                mk_cookie('voteip', $addr . '-' . md5($addr . $salt));
                $_SESSION['voteip'] = $addr;
            } else {
                /* illegal ip in cookie */
                $addr = getenv("REMOTE_ADDR");
                mk_cookie('voteip', $addr . '-' . md5($addr . $salt));
                $_SESSION['voteip'] = $addr;
            }
        } else {
            $addr = getenv("REMOTE_ADDR");
            mk_cookie('voteip', $addr . '-' . md5($addr . $salt));
            $_SESSION['voteip'] = $addr;
        }
    }
}
Example #2
0
}
if (!isset($CONFIG['min_quote_length'])) {
    $CONFIG['min_quote_length'] = 15;
}
require 'util_funcs.php';
require "language/{$CONFIG['language']}.lng";
require 'basecaptcha.php';
require "captcha/{$CONFIG['captcha']}.php";
$CAPTCHA->init_settings($CONFIG['use_captcha']);
require 'basetemplate.php';
require $CONFIG['template'];
date_default_timezone_set($CONFIG['timezone']);
if (isset($_COOKIE['lastvisit']) && !isset($_SESSION['lastvisit'])) {
    $_SESSION['lastvisit'] = $_COOKIE['lastvisit'];
}
mk_cookie('lastvisit', mktime());
set_voteip($CONFIG['secret_salt']);
$dsn = array('phptype' => $CONFIG['phptype'], 'username' => $CONFIG['username'], 'password' => $CONFIG['password'], 'hostspec' => $CONFIG['hostspec'], 'port' => $CONFIG['port'], 'socket' => $CONFIG['socket'], 'database' => $CONFIG['database']);
$db =& DB::connect($dsn);
if (DB::isError($db)) {
    $TEMPLATE->printheader();
    print $db->getMessage();
    $TEMPLATE->printfooter();
    exit;
}
autologin();
$mainmenu = array(array('url' => './', 'id' => 'site_nav_home', 'txt' => 'menu_home'), array('url' => '?latest', 'id' => 'site_nav_latest', 'txt' => 'menu_latest'), array('url' => '?browse', 'id' => 'site_nav_browse', 'txt' => 'menu_browse'), array('url' => '?random', 'id' => 'site_nav_random', 'txt' => 'menu_random'), array('url' => '?random2', 'id' => 'site_nav_random2', 'txt' => 'menu_random2'), array('url' => '?bottom', 'id' => 'site_nav_bottom', 'txt' => 'menu_bottom'), array('url' => '?top', 'id' => 'site_nav_top', 'txt' => 'menu_top'));
if (isset($CONFIG['public_queue']) && $CONFIG['public_queue'] == 1 && isset($CONFIG['moderated_quotes']) && $CONFIG['moderated_quotes'] == 1) {
    $mainmenu[] = array('url' => '?queue', 'id' => 'site_nav_queue', 'txt' => 'menu_queue');
}
$mainmenu[] = array('url' => '?search', 'id' => 'site_nav_search', 'txt' => 'menu_search');