Π‘ΡΠ°ΡΡΡ
π ΠΠ»Π°Π²Π° 9. Π‘Π΅ΡΡΠΈΠΈ ΠΈ ΠΊΡΠΊΠΈ Π² PHP
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
- πͺ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΡΠΊΠΈ (cookies)
- β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠΊΠΈ
- π§ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡ
- π ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΈΠΈ
- π§° ΠΠ°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΡΠΈΡ
- π Π§ΡΠ΅Π½ΠΈΠ΅
- β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
- π ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ
- π‘ ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΠΈ, Π° ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΊΠΈ
ΠΡ ΠΏΠΎΠ΄ΠΎΡΠ»ΠΈ ΠΊ ΡΠ΅ΠΌΠ΅, Π±Π΅Π· ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΡΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΡ — ΡΠ΅ΡΡΠΈΠΈ ΠΈ ΠΊΡΠΊΠΈ.
πͺ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΡΠΊΠΈ (cookies)?
ΠΡΠΊΠΈ — ΡΡΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΡΠΊΠΈ
setcookie("ΠΈΠΌΡ", "ΠΠ½Π½Π°", time() + 3600); // Ρ
ΡΠ°Π½ΠΈΡΡ 1 ΡΠ°Ρ
-
ΠΈΠΌΡ
— Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΡΠΊΠΈ -
"ΠΠ½Π½Π°"
— Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ -
time() + 3600
— ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (Π²ΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ)
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΡΠΊΠΈ
echo $_COOKIE["ΠΈΠΌΡ"]; // ΠΠ½Π½Π°
β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠΊΠΈ
setcookie("ΠΈΠΌΡ", "", time() - 3600); // ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ
π§ Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΡΠΈΡ?
Π‘Π΅ΡΡΠΈΡ — ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
π ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΈΠΈ
session_start(); // Π²ΡΠ΅Π³Π΄Π° Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠ°Π½ΠΈΡΡ!
π§° ΠΠ°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΡΠΈΡ
$_SESSION["Π»ΠΎΠ³ΠΈΠ½"] = "admin";
π Π§ΡΠ΅Π½ΠΈΠ΅
echo $_SESSION["Π»ΠΎΠ³ΠΈΠ½"];
β Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
unset($_SESSION["Π»ΠΎΠ³ΠΈΠ½"]);
π ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠΈ
session_destroy();
π‘ ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΡΠΈΠΈ, Π° ΠΊΠΎΠ³Π΄Π° ΠΊΡΠΊΠΈ?
Π‘Π΅ΡΡΠΈΠΈ | ΠΡΠΊΠΈ |
---|---|
ΠΠ΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ | ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ |
ΠΠ±ΡΡΠΌ Π΄Π°Π½Π½ΡΡ | ΠΠΎΠ»ΡΡΠ΅ (~ΠΌΠ±) |
ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΠ½Π° | β |
ΠΠΈΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ | β |
ΠΠ°Π΄ΡΠΆΠ½ΠΎΡΡΡ | ΠΡΡΠΎΠΊΠ°Ρ |
β ΠΡΠΈΠΌΠ΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ΅ΡΡΠΈΡΡ :
// login.php
session_start();
$_SESSION["user"] = "admin";
echo "ΠΡ Π²ΠΎΡΠ»ΠΈ!";
// protected.php
session_start();
if (!isset($_SESSION["user"])) {
echo "ΠΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½!";
exit;
}
echo "ΠΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ, " . $_SESSION["user"];