mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-08-09 10:13:00 +02:00
- 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:
@@ -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;
|
||||
?>
|
||||
|
||||
@@ -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
@@ -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 = '
|
||||
|
||||
Reference in New Issue
Block a user