Hey,
ich programmiere zurzeit an meiner eigenen kleinen Webseite, die ich vorallem zum üben und kennen lernen von neuen Methoden benutze. Ich möchte auf der Webseite großen Wert auf Sicherheit legen, z.B. durch Verschlüssenlungen von Passwörtern, oder einem gut durchdachten Login System, welches gegen alle möglichen Arten von Hacking Attacken geschützt ist.
Um die Sicherheit auf der Webseite weiter zu fördern, möchte ich die Methode session_start() von php etwas sicherer machen, da ich gehört habe, dass diese nicht unbedingt gut gesichert ist. Deshalb habe ich meine eigene session_start() Methode geschrieben, in der ich unteranderem einen Session Cookie setzte.
Jeder User bekommt so seinen Einmaligen Session Cookie.
Das Problem was ich momentan habe ist, dass sich der Wert des Session Cookies mit jedem neuladen der Seite, oder dem wechseln auf eine Unterseite ändert. Ich möchte allerdings nicht, dass dich der Cookie ändert, sondern das lediglich die Ablaufzeit des Session Cookies verlängert wird. Ich weiß allerdings nicht, wie ich einen Session Cookie verändern kann.
MfG
ich programmiere zurzeit an meiner eigenen kleinen Webseite, die ich vorallem zum üben und kennen lernen von neuen Methoden benutze. Ich möchte auf der Webseite großen Wert auf Sicherheit legen, z.B. durch Verschlüssenlungen von Passwörtern, oder einem gut durchdachten Login System, welches gegen alle möglichen Arten von Hacking Attacken geschützt ist.
Um die Sicherheit auf der Webseite weiter zu fördern, möchte ich die Methode session_start() von php etwas sicherer machen, da ich gehört habe, dass diese nicht unbedingt gut gesichert ist. Deshalb habe ich meine eigene session_start() Methode geschrieben, in der ich unteranderem einen Session Cookie setzte.
PHP:
function sec_session_start()
{
$session_name = 'sec_session_id';
$secure = SECURE;
$httponly = true;
if (ini_set('session.use_only_cookies', 1) === FALSE) {
header("Location: ../error.php?err=Konnte keine sichere Session starten (ini_set)");
exit();
}
$cookieParams = session_get_cookie_params();
$properties = array(
'lifetime' => 31500000, //1 Year
'path' => '/;SameSite=none',
'domain' => $cookieParams["domain"],
'secure' => $secure,
'httponly' => $httponly,
'samesite' => 'Strict'
);
session_set_cookie_params($properties);
session_name($session_name);
session_start();
session_regenerate_id();
}
Jeder User bekommt so seinen Einmaligen Session Cookie.
Das Problem was ich momentan habe ist, dass sich der Wert des Session Cookies mit jedem neuladen der Seite, oder dem wechseln auf eine Unterseite ändert. Ich möchte allerdings nicht, dass dich der Cookie ändert, sondern das lediglich die Ablaufzeit des Session Cookies verlängert wird. Ich weiß allerdings nicht, wie ich einen Session Cookie verändern kann.
PHP:
if(!isset($_COOKIE[$session_name])) {
$cookieParams = session_get_cookie_params();
$properties = array(
'lifetime' => 31500000, //1 Year
'path' => '/;SameSite=none',
'domain' => $cookieParams["domain"],
'secure' => $secure,
'httponly' => $httponly,
'samesite' => 'Strict'
);
session_set_cookie_params($properties);
} else {
//Hier muss das Session Cookie verlängert werden.
}
session_name($session_name);
MfG