X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex.php;h=6e45cb0e8a0c06b7e5928f7868517bc59f62f288;hb=ab4c8c4644b583a454b2c29b3efcfaeefaa5d765;hp=9301b37ca69c1ed91f5f7fa9880485b46b552172;hpb=d74b7138ed4d14834b26355a7f5d9350bc96ee44;p=brisk.git
diff --git a/web/index.php b/web/index.php
index 9301b37..6e45cb0 100644
--- a/web/index.php
+++ b/web/index.php
@@ -237,19 +237,7 @@ function poll_dom() {
return '';
}
-function carousel_top()
-{
- $what = rand(1,2);
- if ($what == 1) {
- $rn = rand(1, 3);
- return (sprintf('', $rn));
- }
- else {
- return (sprintf('
'));
- }
-}
-
-function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $cookie)
+function index_main(&$brisk, $transp_type, &$header_out, $remote_addr_full, $get, $post, $cookie)
{
GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all;
GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local;
@@ -270,8 +258,10 @@ function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $co
if (($table_token = gpcs_var('table_idx', $get, $post, $cookie)) === FALSE)
unset ($table_token);
+ $remote_addr = addrtoipv4($remote_addr_full);
+
// Use of proxies isn't allowed.
- if (!$G_is_local && is_proxy($addr)) {
+ if (!$G_is_local && is_proxy($remote_addr)) {
return FALSE;
}
@@ -293,6 +283,7 @@ function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $co
$brisk->garbage_manager(TRUE);
log_main("post garbage_manager");
if (($user = &$brisk->get_user($sess, &$idx)) != FALSE) {
+ $brisk->sess_cur_set($user->sess);
log_main("user stat: ".$user->stat);
if ($user->stat == "table") {
$cookies = new Cookies();
@@ -309,22 +300,30 @@ function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $co
if ($ACTION == "login" && isset($name)) {
log_main("pre garbage_manager DUE");
- if (isset($pass_private) == FALSE) {
+ if (isset($pass_private) == FALSE || $pass_private == "") {
$pass_private = FALSE;
+
+ $banned = FALSE;
+ if ($brisk->ban_check($remote_addr)) {
+ // TODO: find a way to add a nonblocking sleep(5) here
+ $banned = TRUE;
+ $idx = -1;
+ }
}
$brisk->garbage_manager(TRUE);
/* try login */
- $ipv4addr = addrtoipv4($addr);
- if (($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $ipv4addr, $cookie)) != FALSE) {
+ if ($banned == FALSE &&
+ ($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $remote_addr, $cookie)) != FALSE) {
+ $brisk->sess_cur_set($user->sess);
$ACTION = "room";
if ($idx < 0) {
$idx = -$idx - 1;
$is_login = TRUE;
}
- log_legal($curtime, $ipv4addr, $user, "STAT:LOGIN", '');
+ log_legal($curtime, $remote_addr, $user, "STAT:LOGIN", '');
// recovery lost game
if ($user->stat == "table") {
@@ -382,8 +381,8 @@ function index_main(&$brisk, $transp_type, &$header_out, $addr, $get, $post, $co
$tables .= '