Cookies Und Session Flashcards

1
Q

Frage

A

Antwort

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist die PHP-Funktion setcookie()?

A

Die PHP-Funktion setcookie() wird verwendet, um Cookies auf dem Client zu setzen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche Parameter hat die setcookie()-Funktion?

A

setcookie() nimmt die Parameter Name, Wert, Verfallsdatum, Pfad, Domain, Verbindungstyp und httponly entgegen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welcher Parameter ist bei setcookie() zwingend erforderlich?

A

Der Name des Cookies ist der einzige Pflicht-Parameter.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was bedeutet das Verfallsdatum eines Cookies?

A

Das Verfallsdatum gibt an, wann das Cookie ungültig wird. Es wird als Unix-Timestamp angegeben und oft als aktuelles Datum plus eine gewünschte Anzahl an Sekunden gesetzt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Welche Bedeutung hat der Pfad-Parameter bei setcookie()?

A

Der Pfad bestimmt, für welche Teile der Domain das Cookie gültig ist. ‘/’ bedeutet, dass es für die gesamte Domain gilt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wann wird der Domain-Parameter bei setcookie() benötigt?

A

Der Domain-Parameter ist nur relevant, wenn das Cookie für Subdomains zugänglich sein soll.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was bedeutet der true-Wert beim Verbindungstyp-Parameter in setcookie()?

A

Ein true-Wert bedeutet, dass das Cookie nur über eine sichere HTTPS-Verbindung ausgelesen werden kann.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was bewirkt der httponly-Parameter bei setcookie()?

A

Wenn httponly auf true gesetzt ist, kann das Cookie nur über das HTTP-Protokoll ausgelesen werden und nicht über JavaScript (Schutz vor XSS-Angriffen).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ab welcher PHP-Version ist der httponly-Parameter verfügbar?

A

Der httponly-Parameter ist ab PHP 5.2 verfügbar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Warum sind Cookies sicherheitskritisch?

A

Cookies können sensible Daten enthalten. Ohne Schutzmaßnahmen wie httponly oder Secure-Flag könnten sie durch XSS oder MITM-Angriffe ausgelesen oder manipuliert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie kann PHP selbst gesetzte Cookies auslesen?

A

PHP kann Cookies über die superglobale Variable $_COOKIE auslesen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie ist die Struktur der $_COOKIE-Variable?

A

Die $_COOKIE-Variable ist ein assoziatives Array, das die Cookies als Key-Value-Paare enthält.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann ein einzelnes Cookie ausgelesen werden?

A

Mit echo $_COOKIE[‘Cookie-Name’]; kann der Wert eines Cookies ausgegeben werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wie setzt man ein Cookie in PHP?

A

Mit setcookie(‘Geschmack’, ‘Chocolate-Chip’); wird ein Cookie mit dem Namen ‘Geschmack’ und dem Wert ‘Chocolate-Chip’ gesetzt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie kann man alle Cookies auslesen?

A

Mit einer foreach-Schleife: foreach ($_COOKIE as $key => $value) { echo ‘$key = $value’; }

17
Q

Warum sollte man prüfen, ob ein Cookie gesetzt ist, bevor man es ausliest?

A

Wenn das Cookie nicht existiert, führt der direkte Zugriff auf $_COOKIE[‘name’] zu einer Warnung. Die Funktion isset() sollte vorher geprüft werden.

18
Q

Wie kann man sicherstellen, dass Cookies nach dem Setzen sofort verfügbar sind?

A

Cookies sind erst in der nächsten Anfrage verfügbar. Man kann alternativ in der gleichen Sitzung eine Session-Variable setzen.

19
Q

Wie kann PHP verhindern, dass ein Cookie von JavaScript ausgelesen wird?

A

Mit dem httponly-Parameter in setcookie(), z. B. setcookie(‘name’, ‘wert’, time()+3600, ‘/’, ‘’, false, true);

20
Q

Wie kann PHP prüfen, ob ein bestimmtes Cookie existiert?

A

Mit isset($_COOKIE[‘name’]); kann überprüft werden, ob ein Cookie gesetzt ist.

21
Q

Welche Sicherheitsrisiken bestehen beim Umgang mit Cookies?

A

Cookies können durch XSS gestohlen oder durch Man-in-the-Middle-Angriffe manipuliert werden. Sicheres Setzen mit Secure- und HttpOnly-Flags ist wichtig.

22
Q

Was sind Sessions in PHP?

A

Sessions sind eine Methode, um Zustände (Session-Daten) serverseitig zu speichern.

23
Q

Wo werden Sessions gespeichert?

A

Sessions werden auf dem Server gespeichert, im Gegensatz zu Cookies, die im Browser des Clients gespeichert werden.

24
Q

Wofür wird ein Cookie bei Sessions genutzt?

A

Das Cookie dient nur zur Identifikation des Clients, speichert aber keine eigentlichen Sitzungsdaten.

25
Q

Wie lange bleiben Sessions normalerweise bestehen?

A

Sessions bleiben in der Regel bis zum Ende der Browser-Sitzung bestehen, es sei denn, sie werden manuell beendet oder eine andere Konfiguration ist gesetzt.

26
Q

Wie startet man eine Session in PHP?

A

Mit session_start(); wird eine neue Session gestartet oder eine bestehende fortgesetzt.

27
Q

Welche globale Variable wird für Session-Daten in PHP verwendet?

A

Die superglobale Variable $_SESSION wird verwendet, um Session-Daten zu speichern und abzurufen.

28
Q

Was passiert, wenn der Browser geschlossen wird?

A

Standardmäßig wird die Session beim Schließen des Browsers beendet, es sei denn, sie wird manuell oder über eine Konfiguration verlängert.

29
Q

Warum sind Sessions sicherer als Cookies für das Speichern sensibler Daten?

A

Sessions speichern die Daten serverseitig, während Cookies im Client-Browser gespeichert werden und somit anfälliger für Manipulationen sind.

30
Q

Wie kann man eine bestimmte Session-Variable setzen?

A

Mit $_SESSION[‘key’] = ‘wert’; wird eine Session-Variable gesetzt.

31
Q

Wie kann man eine Session beenden?

A

Mit session_destroy(); wird die aktuelle Session gelöscht.

32
Q

Warum sollten PHP-Skripte die Inhalte von Cookies überprüfen?

A

Cookies können im Client manipuliert werden, daher müssen PHP-Skripte die Werte vor der Verarbeitung validieren.

33
Q

Wie funktionieren Sessions, wenn Cookies deaktiviert sind?

A

Sessions werden dann über die URL als Session-Name übergeben, was jedoch ein Sicherheitsrisiko darstellen kann.

34
Q

Was ist Session Fixation?

A

Ein Angriff, bei dem ein Angreifer einem Benutzer eine vorher festgelegte Session-ID unterschiebt, um sich nach der Anmeldung Zugriff auf dessen Sitzung zu verschaffen.

35
Q

Wie läuft eine Session Fixation-Attacke ab?

A
  1. Angreifer generiert eine Session-ID. 2. Opfer klickt auf einen manipulierten Link mit dieser ID. 3. Opfer meldet sich an. 4. Angreifer kann die Sitzung übernehmen, da die ID bereits bekannt ist.
36
Q

Wie kann man sich gegen Session Fixation schützen?

A

Man sollte beim Login eine neue Session-ID generieren, z. B. mit session_regenerate_id(true);

37
Q

Welche Gefahr besteht, wenn Session-IDs in der URL übergeben werden?

A

Sie können von Dritten mitgelesen oder in Logs gespeichert werden, was das Risiko von Session Hijacking erhöht.

38
Q

Warum ist HTTPS wichtig für Sitzungen?

A

HTTPS schützt die Übertragung der Session-ID vor Man-in-the-Middle-Angriffen, die ansonsten abgefangen werden könnte.

39
Q

Wie kann PHP verhindern, dass Session-IDs über die URL übergeben werden?

A

Durch Setzen von session.use_only_cookies = 1 in der php.ini, sodass nur Cookies für Sessions genutzt werden.