aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcassio <cassiopc@gmail.com>2018-10-29 16:31:34 +0000
committercassio <cassiopc@gmail.com>2018-10-29 16:31:34 +0000
commitbb97007d9a72641a1c8f2bfa2d837b9de37d9d55 (patch)
treea0883308eb5329bf18834657882964bd47325c7e /src
parent61ce4a0eb58d0e1632b2a1dc87195ce1faada78e (diff)
downloadboca-bb97007d9a72641a1c8f2bfa2d837b9de37d9d55.tar.gz
boca-bb97007d9a72641a1c8f2bfa2d837b9de37d9d55.zip
better control of logins
Diffstat (limited to 'src')
-rw-r--r--src/flog.php11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/flog.php b/src/flog.php
index 0134b1c..1e6e6cb 100644
--- a/src/flog.php
+++ b/src/flog.php
@@ -163,13 +163,13 @@ function DBLogInContest($name,$pass,$contest,$msg=true) {
unset($_SESSION["usertable"]);
return false;
}
- $ccode = explode(' ',trim($_SERVER['HTTP_USER_AGENT']),100);
- $ccode = $ccode[count($ccode)-1];
+ $ccode = trim($_SERVER['HTTP_USER_AGENT']);
$ds = DIRECTORY_SEPARATOR;
if($ds=="") $ds = "/";
$dircode=$_SESSION["locr"] . $ds . "private" . $ds . "agentcode";
@mkdir($dircode);
$dircode .= $ds . $contest . '-' . $name;
+ @file_put_contents($dircode . '.log', $ccode . "\n", FILE_APPEND | LOCK_EX);
if(@file_exists($dircode)) {
if(($prevuser = @file_get_contents($dircode)) === false) {
LOGLevel("User $name tried to log in contest $contest but computer file cannot be read.",2);
@@ -177,14 +177,15 @@ function DBLogInContest($name,$pass,$contest,$msg=true) {
unset($_SESSION["usertable"]);
return false;
}
- if($prevuser != $ccode) {
- LOGLevel("User $name tried to log in contest $contest but computer is invalid.",2);
+ if($prevuser != $ccode && $a["usertype"] == "team") {
+ LOGLevel("User $name tried to log in contest $contest but computer is invalid ($ccode).",2);
if($msg) MSGError("Invalid computer (3).");
unset($_SESSION["usertable"]);
return false;
}
} else {
- @file_put_contents($dircode, $ccode);
+ if($a["usertype"] == "team")
+ @file_put_contents($dircode, $ccode);
}
$gip=getIP();