Session Cookies PHP

Cury

Aktives Mitglied
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.

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
 

Oneixee5

Top Contributor
Mal eine Gegenfrage: Du bist nicht in der Lage ein Cookie zu verlängern. Glaubst aber du könntest einen sicheren Login programmieren?
So etwas macht man nicht selbst. Man verwendet ein Framework, welches von Profis programmiert, ausgiebig getestet wurde und immer weiter aktualisiert wird. Wenn du irgendwann die richtige Ausbildung und genügend Erfahrung hast, dann kannst du auf dem Gebiet mitmischen. Zu deinem eigenen Schutz und dem deiner Kunden - programmiere sicherheitsrelevante Teile der Anwendung nicht selbst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A PHP Session Andere Programmiersprachen 2

Ähnliche Java Themen

Neue Themen


Oben