- checkbox for "remember me" are only shown if authorized

- simplification : each session is created with a cookie and if
  PhpWebGallery can't read the cookie, it uses the URI id and it will be
  used in the add_session_id function.

- configuration parameter "auth_method" disappeared (didn't lived much...)

- only one session id size possible. More comments for configuration in
  include/config.inc.php


git-svn-id: http://piwigo.org/svn/trunk@555 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
z0rglub
2004-10-06 22:48:48 +00:00
parent 944fb4856e
commit 11699a5546
11 changed files with 37 additions and 69 deletions
+7 -5
View File
@@ -96,9 +96,11 @@ $conf['remember_me_length'] = 31536000;
// time of validity for normal session, in seconds.
$conf['session_length'] = 3600;
// session id length when session id in URI
$conf['session_id_size_URI'] = 4;
// session id length when session id in cookie
$conf['session_id_size_cookie'] = 50;
// session id size. A session identifier is compound of alphanumeric
// characters and is case sensitive. Each character is among 62
// possibilities. The number of possible sessions is
// 62^$conf['session_id_size'].
// 62^5 = 916,132,832
// 62^10 = 839,299,365,868,340,224
$conf['session_id_size'] = 10;
?>
+3 -7
View File
@@ -62,11 +62,10 @@ function generate_key($size)
* - return session identifier
*
* @param int userid
* @param string method : cookie or URI
* @param int session_lentgh : in seconds
* @return string
*/
function session_create($userid, $method, $session_length)
function session_create($userid, $session_length)
{
global $conf;
@@ -74,7 +73,7 @@ function session_create($userid, $method, $session_length)
$id_found = false;
while (!$id_found)
{
$generated_id = generate_key($conf['session_id_size_'.$method]);
$generated_id = generate_key($conf['session_id_size']);
$query = '
SELECT id
FROM '.SESSIONS_TABLE.'
@@ -97,10 +96,7 @@ INSERT INTO '.SESSIONS_TABLE.'
;';
mysql_query($query);
if ($method == 'cookie')
{
setcookie('id', $generated_id, $session_length+time(), cookie_path());
}
setcookie('id', $generated_id, $expiration, cookie_path());
return $generated_id;
}
+7 -17
View File
@@ -39,25 +39,15 @@ $query_user = 'SELECT * FROM '.USERS_TABLE;
$query_done = false;
$user['is_the_guest'] = false;
// cookie deletion if administrator don't authorize them anymore
if (!$conf['authorize_remembering'] and isset($_COOKIE['id']))
{
setcookie('id', '', 0, cookie_path());
$url = 'category.php';
redirect($url);
}
if (isset($_GET['id']))
{
$session_id = $_GET['id'];
$user['has_cookie'] = false;
$session_id_size = $conf['session_id_size_URI'];
}
elseif (isset($_COOKIE['id']))
if (isset($_COOKIE['id']))
{
$session_id = $_COOKIE['id'];
$user['has_cookie'] = true;
$session_id_size = $conf['session_id_size_cookie'];
}
else if (isset($_GET['id']))
{
$session_id = $_GET['id'];
$user['has_cookie'] = false;
}
else
{
@@ -65,7 +55,7 @@ else
}
if (isset($session_id)
and ereg("^[0-9a-zA-Z]{".$session_id_size."}$", $session_id))
and ereg("^[0-9a-zA-Z]{".$conf['session_id_size']."}$", $session_id))
{
$page['session_id'] = $session_id;
$query = '