Added cookie detection, based on Petr's code. Thanks!

A notice will be printed on the login page if the session cookie can not be set.
This commit is contained in:
moodler 2005-01-11 12:43:29 +00:00
parent 420158ba41
commit 792197b095
3 changed files with 23 additions and 3 deletions

View file

@ -43,7 +43,12 @@ class block_login extends block_base {
$signup = ''; $signup = '';
} }
$username = get_moodle_cookie(); if (get_moodle_cookie() == '') {
set_moodle_cookie('nobody'); // To help search for cookies
}
$username = get_moodle_cookie() === 'nobody' ? '' : get_moodle_cookie();
if (empty($USER->loggedin)) { if (empty($USER->loggedin)) {
$this->content->text = "<form name=\"blocklogin\" method=\"post\""; $this->content->text = "<form name=\"blocklogin\" method=\"post\"";
$this->content->text .= " action=\"". $wwwroot ."/login/index.php\">\n"; $this->content->text .= " action=\"". $wwwroot ."/login/index.php\">\n";

View file

@ -232,6 +232,7 @@ $string['confirmednot'] = 'Your registration has not yet been confirmed!';
$string['continue'] = 'Continue'; $string['continue'] = 'Continue';
$string['continuetocourse'] = 'Click here to enter your course'; $string['continuetocourse'] = 'Click here to enter your course';
$string['cookiesenabled'] = 'Cookies must be enabled in your browser'; $string['cookiesenabled'] = 'Cookies must be enabled in your browser';
$string['cookiesnotenabled'] = 'Unfortunately, cookies are currently not enabled in your browser';
$string['copy'] = 'copy'; $string['copy'] = 'copy';
$string['copyingcoursefiles'] = 'Copying course files'; $string['copyingcoursefiles'] = 'Copying course files';
$string['copyinguserfiles'] = 'Copying user files'; $string['copyinguserfiles'] = 'Copying user files';

View file

@ -51,7 +51,17 @@
$frm = data_submitted(); $frm = data_submitted();
} }
if ($frm) { if ($frm and (get_moodle_cookie() == '')) { // Login without cookie
$errormsg = get_string("cookiesnotenabled");
} else if ($frm) { // Login WITH cookies
if (get_moodle_cookie() == '') {
error('Cookies not working!');
die;
}
$frm->username = trim(moodle_strtolower($frm->username)); $frm->username = trim(moodle_strtolower($frm->username));
if (($frm->username == 'guest') and empty($CFG->guestloginbutton)) { if (($frm->username == 'guest') and empty($CFG->guestloginbutton)) {
@ -167,9 +177,13 @@
if (empty($SESSION->wantsurl)) { if (empty($SESSION->wantsurl)) {
$SESSION->wantsurl = array_key_exists('HTTP_REFERER',$_SERVER) ? $_SERVER["HTTP_REFERER"] : $CFG->wwwroot; $SESSION->wantsurl = array_key_exists('HTTP_REFERER',$_SERVER) ? $_SERVER["HTTP_REFERER"] : $CFG->wwwroot;
} }
if (get_moodle_cookie() == '') {
set_moodle_cookie('nobody'); // To help search for cookies
}
if (empty($frm->username)) { if (empty($frm->username)) {
$frm->username = get_moodle_cookie(); $frm->username = get_moodle_cookie() === 'nobody' ? '' : get_moodle_cookie();
$frm->password = ""; $frm->password = "";
} }