fixes login issues
parent
eff4b073f5
commit
50b3409b47
|
@ -1,5 +1,7 @@
|
||||||
# Jilo Web
|
# Jilo Web
|
||||||
|
|
||||||
|
This is still not operational. Goals for v.0.1 - browsing of basic info about Jilo config and about Jitsi Meet conferences.
|
||||||
|
|
||||||
## requirements
|
## requirements
|
||||||
|
|
||||||
- web server (deb: apache | nginx)
|
- web server (deb: apache | nginx)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$config = [
|
$config = [
|
||||||
'domain' => 'localhost.com',
|
'domain' => 'localhost',
|
||||||
'folder' => '/jilo-web/',
|
'folder' => '/jilo-web/',
|
||||||
'database' => '/home/yasen/work/code/git/lindeas-code/jilo-web/jilo-web.db',
|
'database' => '/home/yasen/work/code/git/lindeas-code/jilo-web/jilo-web.db',
|
||||||
];
|
];
|
||||||
|
|
|
@ -40,8 +40,11 @@ if (isset($_GET['page'])) {
|
||||||
$page = 'front';
|
$page = 'front';
|
||||||
}
|
}
|
||||||
|
|
||||||
// logged in username
|
// check if logged in
|
||||||
if ( isset($_SESSION['username']) ) {
|
if (isset($_COOKIE['username'])) {
|
||||||
|
if ( !isset($_SESSION['username']) ) {
|
||||||
|
$_SESSION['username'] = $_COOKIE['username'];
|
||||||
|
}
|
||||||
$user = htmlspecialchars($_SESSION['username']);
|
$user = htmlspecialchars($_SESSION['username']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +70,7 @@ if (in_array($page, $allowed_urls)) {
|
||||||
// clean up session
|
// clean up session
|
||||||
session_unset();
|
session_unset();
|
||||||
session_destroy();
|
session_destroy();
|
||||||
|
setcookie('username', "", time() - 100, $config['folder'], $config['domain'], isset($_SERVER['HTTPS']), true);
|
||||||
|
|
||||||
$notice = "You were logged out.<br />You can log in again.";
|
$notice = "You were logged out.<br />You can log in again.";
|
||||||
include 'templates/header.php';
|
include 'templates/header.php';
|
||||||
|
|
|
@ -20,26 +20,39 @@ try {
|
||||||
if (isset($_POST['remember_me'])) {
|
if (isset($_POST['remember_me'])) {
|
||||||
// 30*24*60*60 = 30 days
|
// 30*24*60*60 = 30 days
|
||||||
$cookie_lifetime = 30 * 24 * 60 * 60;
|
$cookie_lifetime = 30 * 24 * 60 * 60;
|
||||||
|
$setcookie_lifetime = time() + 30 * 24 * 60 * 60;
|
||||||
$gc_maxlifetime = 30 * 24 * 60 * 60;
|
$gc_maxlifetime = 30 * 24 * 60 * 60;
|
||||||
} else {
|
} else {
|
||||||
// 0 - session end on browser close
|
// 0 - session end on browser close
|
||||||
// 1440 - 24 minutes (default)
|
// 1440 - 24 minutes (default)
|
||||||
$cookie_lifetime = 0;
|
$cookie_lifetime = 0;
|
||||||
|
$setcookie_lifetime = 0;
|
||||||
$gc_maxlifetime = 1440;
|
$gc_maxlifetime = 1440;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set session lifetime
|
// set session lifetime and cookies
|
||||||
ini_set('session.gc_maxlifetime', $gc_maxlifetime);
|
ini_set('session.gc_maxlifetime', $gc_maxlifetime);
|
||||||
session_set_cookie_params([
|
session_set_cookie_params([
|
||||||
'lifetime' => $cookie_lifetime,
|
'lifetime' => $setcookie_lifetime,
|
||||||
'samesite' => 'Strict',
|
'samesite' => 'Strict',
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'secure' => isset($_SERVER['HTTPS']),
|
'secure' => isset($_SERVER['HTTPS']),
|
||||||
'domain' => $config['domain'],
|
'domain' => $config['domain'],
|
||||||
'path' => $config['folder']
|
'path' => $config['folder']
|
||||||
]);
|
]);
|
||||||
|
session_name($username);
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
|
// FIXME it doesn't set a cookie with session_set_cookie_params only
|
||||||
|
setcookie('username', $username, [
|
||||||
|
'expires' => $setcookie_lifetime,
|
||||||
|
'path' => $config['folder'],
|
||||||
|
'domain' => $config['domain'],
|
||||||
|
'secure' => isset($_SERVER['HTTPS']),
|
||||||
|
'httponly' => true,
|
||||||
|
'samesite' => 'Strict'
|
||||||
|
]);
|
||||||
|
|
||||||
// redirect to index
|
// redirect to index
|
||||||
$_SESSION['notice'] = "Login successful";
|
$_SESSION['notice'] = "Login successful";
|
||||||
header('Location: index.php');
|
header('Location: index.php');
|
||||||
|
|
Loading…
Reference in New Issue