X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fsecurity.inc.php;h=3def55878455d6db953c8589a2d347c2e3c88fb5;hb=7c4ae1c3d38d458ac3b6dea25ca76ebdd2c0ecd8;hp=683dd10eea0a239f2a83a4027b946f934c714992;hpb=4478f95efc07709dbe0a4415e979ff0347651cf8;p=platal.git diff --git a/include/security.inc.php b/include/security.inc.php index 683dd10..3def558 100644 --- a/include/security.inc.php +++ b/include/security.inc.php @@ -1,6 +1,6 @@ $ip) { + $v = ip_to_uint($ip); + if (is_null($v)) { + unset($ips[$key]); + } else { + $ips[$key] = '(ip & mask) = (' . $v . '& mask)'; + } } $res = XDB::query('SELECT state, description FROM ip_watch @@ -62,7 +67,7 @@ function check_ip($level) function check_email($email, $message) { $res = XDB::query("SELECT state, description - FROM emails_watch + FROM email_watch WHERE state != 'safe' AND email = {?}", $email); if ($res->numRows()) { send_warning_mail($message); @@ -80,7 +85,8 @@ function check_redirect($red = null) { require_once 'emails.inc.php'; if (is_null($red)) { - $red = new Redirect(S::user()); + $user = S::user(); + $red = new Redirect($user); } if ($red->get_uid() == S::v('uid')) { $_SESSION['no_redirect'] = !$red->other_active(''); @@ -102,7 +108,7 @@ function send_warning_mail($title) function kill_sessions() { - assert(S::has_perms()); + assert(S::admin()); shell_exec('sudo -u root ' . dirname(dirname(__FILE__)) . '/bin/kill_sessions.sh'); }