μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- λ°±μ€ 1449
- λ°±μ€ 1018 nodejs
- λ°±μ€ 11047 nodejs
- μκ³ λ¦¬μ¦
- λ°±μ€ 1018 javascript
- λ°±μ€ 2503 nodejs
- λ°±μ€ 2503 νμ μ€ν¬λ¦½νΈ
- λ°±μ€ 2503 typescript
- λ°±μ€ 1018 μλ°μ€ν¬λ¦½νΈ
- λ°±μ€ 11047 νμ μ€ν¬λ¦½νΈ
- λ°±μ€ 4796 μΊ ν
- λ°±μ€ 11047 μλ°μ€ν¬λ¦½νΈ
- λ°±μ€ 1018 νμ μ€ν¬λ¦½νΈ
- JavaScript
- λ°±μ€ 4796 javascript
- λ°±μ€ 1018 typescript
- λ°±μ€ 2503 μλ°μ€ν¬λ¦½νΈ
- λ°±μ€ 4796 νμ μ€ν¬λ¦½νΈ
- λ°±μ€ 2503 javascript
- λ°±μ€ 1449 λ Έλ
- λ°±μ€ 11047 javascript
- λ°±μ€ 10448 javascript
- λ°±μ€ 1449 μλ°μ€ν¬λ¦½νΈ
- λ°±μ€ 4796 nodejs
- λ°±μ€ 11047 typescript
- λ°±μ€ 1449 νμ μ€ν¬λ¦½νΈ
- CSS
- λ°±μ€ 4796 μλ°μ€ν¬λ¦½νΈ
- λ°±μ€ 1449 nodejs
- λ°±μ€ 1449 javascript
- Today
- Total
POTATO THAT WANT TO BE HUMAN
[PHP] phpμΈμ (Session) λ³Έλ¬Έ
π€ μΈμ μ΄λ λκ°μ?
μΈμ (Session)μ μΉ μλ²μ μ 보λ₯Ό μ μ₯νκ³ μ¬μ©μμΈ‘μλ μ κ·Όν μ μλ ν€ κ°μ μ μ₯ν©λλ€.
κ·Έλ λ€λ©΄ μΏ ν€λ? μΏ ν€λ λͺ¨λ μ λ³΄κ° μ¬μ©μ μΈ‘μ μ»΄ν¨ν°μ μ μ₯λ©λλ€.
μΉμλ²μ λ°μ΄ν°κ° μ μ₯λκ³ νμν λλ§λ€ λΈλΌμ°μ μμ ν€ κ°μΌλ‘ μλ²μ μμ²μ ν©λλ€. κ·Έλ¦¬κ³ λΈλΌμ°μ λ₯Ό μ’ λ£νλ μμ μμ μΈμ μ΄ μμ λλλ‘ μ€μ μ΄ κ°λ₯ν΄μ μΏ ν€μλ§ λ°μ΄ν°λ₯Ό μ μ₯νλ κ²λ³΄λ€ 보μμ±μ΄ λμ΅λλ€. λλ¬Έμ λ‘κ·ΈμΈκ³Ό κ°μ μΈμ¦ μ²λ¦¬μμ λ§μ΄ μ¬μ©λ©λλ€.
μΈμ μ μ£Όλ‘ λ³΄μ΄μ§ μλ λ°μ΄ν°λ₯Ό νμ©ν λ μ°μ λλ€. λν νλ°μ± λ°μ΄ν°λ‘, μΈν°λ· μ°½μ λλ©΄ μ¬λΌμ§λλ€.
1. μΈμ μμνκΈ° πΆ
<?php
// μΈμ
μμ
session_start();
phpμμ session_start()λ₯Ό μ¬μ©νμ¬ μΈμ μ μμν©λλ€.
μ¬μ©μ μ λ³΄κ° μΉ μλ²μ μμ κ²½μ° μλ‘μ΄ μΈμ μ μμ±νκ³ , μ΄λ―Έ μΈμ μ΄ μμ±λμ΄ μλ€λ©΄ κΈ°μ‘΄ μΈμ μ μ¬μ©ν©λλ€.
( μΏ ν€μ κ°μ λΈλΌμ°μ μ κ°λ°μ λꡬλ₯Ό ν΅ν΄ νμΈν μ μμ§λ§ μΈμ μ κ°μ μλ²μ μ μ₯λλ κ²μ΄κΈ°λλ¬Έμ κ°λ°μ λꡬμμλ νμΈν μ μμ΅λλ€. )
phpμμ μΈμ μ μμ±νλ©΄ κΈ°λ³Έμ μΌλ‘ μΈμ μ μ΄λ¦μ PHPSESSIDλ‘ μ μ₯λ©λλ€. μ΄λ php μ€μ νμΌμΈ php.iniμμ λ³κ²½μ΄ κ°λ₯ν©λλ€. μΌμμ λ³κ²½μ΄ νμνλ€λ©΄ session_name('λ³κ²½ν μ΄λ¦') μ μ¬μ©ν΄ λ³κ²½ν μ μμ΅λλ€.
session_name()μ μ¬μ©νλ €λ©΄ session_start()λ³΄λ€ μμ μ λ ₯ν΄μΌ μ€λ₯μμ΄ μλν©λλ€.
session_start() ν¨μλ₯Ό κ°μ νμΌμμ μ¬λ¬ λ² μ€ννκ² λλ€λ©΄ μ΄λ―Έ μΈμ μ΄ μ€νλμλ€λ μλ¦Όμ μΆλ ₯νλ
session_id() ν¨μλ₯Ό μ¬μ©νμ¬ νμ¬ μμ±λ μΈμ μ΄ μλμ§ νμΈν ν μΈμ μ μμνλ κ²μ΄ μ’μ΅λλ€.
( session_id() ν¨μλ λ°κΈλ μΈμ idκ° μλ€λ©΄ idλ₯Ό, μλ€λ©΄ falseλ₯Ό λ°ν )
<?php
// session_id()λ λ°κΈλ μΈμ
idκ° μλ€λ©΄ μΈμ
μ idλ₯Ό, μλ€λ©΄ falseλ₯Ό λ°ννλ ν¨μ
if(!session_id()){
// idκ° μμ κ²½μ° μΈμ
μμ
session_start();
}
2. μΈμ λ³μ μ¬μ© π
<?php
// μΈμ
μμ
session_start();
// μΈμ
λ³μ λ±λ‘
$_SESSION['userNamer'] = 'λ
ν';
$_SESSION['userPw'] = '1234';
// λ±λ‘λ λ³μ μ¬μ©
echo "userName κ°: ".$_SESSION['userName']."<br/>";
echo "userPw κ°: ".$_SESSION['userPw'];
μΈμ μ μ¬μ©νμ¬ λ³μλ₯Ό λ±λ‘νλ €λ©΄ $_SESSION['λ³μλͺ '] = data ννλ‘ μ¬μ©νλ©΄ λ©λλ€. μ μ½λμ²λΌ $_SESSION['userName'] = "λ ν"; μ΄λΌκ³ νλ©΄ userNameμ΄λΌλ μΈμ λ³μμ testerλΌλ κ°μ μ μ₯νλ€λ μλ―Έμ λλ€.
λ±λ‘λ μΈμ λ³μλ₯Ό μ¬μ©νλ κ²λ λ±λ‘κ³Ό κ°μ΅λλ€. $_SESSION['λ³μλͺ '] ννλ‘ μ¬μ©ν©λλ€. κ·Έλλ‘ μ°λ©΄ μ½λκ° κΈΈμ΄μ§ μ μμΌλ php λ³μμ μ μ₯νμ¬ μ¬μ©νλ κ²μ΄ νΈλ¦¬ν©λλ€.
3. μΈμ λ³μ ν΄μ π
<?php
// μΈμ
μμ
session_start();
// μΈμ
λ³μ λ±λ‘
$_SESSION['userName'] = 'λ
ν';
// λ±λ‘λ λ³μ ν΄μ
unset($_SESSION['userName']);
echo "userName κ°: ".$_SESSION['userName'];
λ±λ‘λ λ³μλ₯Ό ν΄μ νκΈ° μν΄μλ unset()μ μ¬μ©ν©λλ€. unset($_SESSION['λ³μλͺ
']) ννλ‘ μ
λ ₯νλ©΄ ν΄λΉ λ³μκ° λ±λ‘μ΄ ν΄μ λμ΄ μ¬μ©ν μ μκ² λ©λλ€. ( unsetμΌλ‘ ν΄μ ν ν λ³μλ₯Ό νΈμΆνλ©΄ μ μλμ§μμ μλ¬κ° λ°μνκ² λ©λλ€. )
λ§μ½ λͺ¨λ λ³μμ λ±λ‘μ ν΄μ νκ³ μΆλ€λ©΄ session_unset() ν¨μλ₯Ό μ¬μ©νλ©΄ λͺ¨λ λ³μμ λ±λ‘μ΄ ν΄μ λ©λλ€.
μΈμ μ μμ ν μ’ λ£νκ³ μΆλ€λ©΄ session_destroy()λ₯Ό μ¬μ©νμ¬ μΈμ νμΌκ³Ό λΈλΌμ°μ μ μΏ ν€λ₯Ό μμ νμ¬ μΈμ μ΄ μ’ λ£λ©λλ€.
4. μΈμ λ³μ λ±λ‘ νμΈ π
<?php
// μΈμ
μμ
session_start();
// λ³μ λ±λ‘
$_SESSION['userId'] = '';
// λ³μ λ±λ‘ μ¬λΆ νμΈ
if(!isset($_SESSION['userId'])) {
$_SESSION['userId'] = 'data1';
echo 'μλ‘μ΄ λ³μ μμ±!';
} else {
$_SESSION['userId'] = 'data2';
echo 'κΈ°μ‘΄ λ³μ λ°μ΄ν° λ³κ²½';
}
isset() ν¨μλ₯Ό μ¬μ©νλ©΄ ν΄λΉ λ³μκ° λ±λ‘μ΄ λμ΄μλμ§ νμΈν μ μμ΅λλ€. isset($_SESSION['λ³μλͺ ']) ννλ‘ μ¬μ©νλ©° λ§μ½ ν΄λΉ λ³μκ° λ±λ‘μ΄ λμ΄μλ€λ©΄ trueλ₯Ό, λ±λ‘μ΄ λμ΄μμ§ μλ€λ©΄ falseλ₯Ό λ°νν©λλ€.
μ μ½λλ λ³μκ° μμ±λμ§ μμλ€λ©΄ data1μ, μμ±μ΄ λμ΄μλ€λ©΄ data2λ₯Ό μ μ₯νκ³ λ³μμ κ°μ μΆλ ₯νλ γ γ λμ λλ€. μ€ννκ² λλ©΄ λ³μλ λ±λ‘μ΄ λμ΄μμΌλ―λ‘ data2κ° μΆλ ₯μ΄ λλ κ²μ νμΈν μ μμ΅λλ€.
5. μΈμ id λ³κ²½ π
phpμ μΈμ μ λΈλΌμ°μ μ μΏ ν€μ λ±λ‘λ idλ₯Ό μ¬μ©νμ¬ μλ²μ μ μ₯λ λ°μ΄ν°μ μ κ·Όν©λλ€. κ·Έλμ μΈμ idλ₯Ό νμ·¨λΉνλ€λ©΄ μΈμ μ μ μ₯λ λ°μ΄ν°λ€ λν νμ·¨λΉν μνμ΄ λμμ§λλ€.
κ·Έλμ μΌλ°μ μΌλ‘ μ¬μ©μμ μΈμ¦μ 보μ λ³λ(λ‘κ·ΈμΈ λ° λ‘κ·Έμμ), μ€μ λ³κ²½ λ± μ€μν λ³κ²½μ¬νμ΄ μμ λ μΈμ idλ₯Ό λ³κ²½ν©λλ€. phpμμλ session_regenerate_id() ν¨μλ₯Ό μ¬μ©νμ¬ μλ‘μ΄ idλ₯Ό λ°κΈλ°μ μΏ ν€λ₯Ό μμ±ν©λλ€.
<?php
// μΈμ
μμ
session_start();
// νμ¬ μΈμ
id νμΈ
echo session_id();
echo '<br/><br/>';
// μΈμ
id μ κ· λ°κΈ
session_regenerate_id();
// μ κ· λ°κΈλ id νμΈ
echo session_id();
session_regenerate_id() ν¨μμ κΈ°λ³Έ μ€μ μ μΈμ idλ₯Ό λ³κ²½ν ν μ΄μ μΈμ λ°μ΄ν°λ₯Ό μμ νμ§ μλ κ²μ λλ€. idλ§ μλ‘ λ°κΈνμ¬ λ°μ΄ν°λ₯Ό 볡μ νλ λ°©μμ λλ€. κ·Έλμ μλ²μμ νμΈμ ν΄λ³΄λ©΄ idλ λ€λ₯΄μ§λ§ κ°μ λ°μ΄ν°λ₯Ό κ°μ§κ³ μλ μΈμ νμΌμ΄ νμΈλ©λλ€.
μ΄μ λ°μ΄ν°λ₯Ό μ§μ°κ³ μΆλ€λ©΄ session_regenerate_id(true) νμμΌλ‘ νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ μ΄μ μΈμ λ°μ΄ν°λ₯Ό μμ νλλ‘ ν΄μΌν©λλ€. μ΄λ κ² νλ©΄ μλ‘μ΄ idκ° λ°κΈλκ³ μ΄μ μ μΈμ μ μμ ν μμ λ©λλ€.
6. μΈμ μ’ λ£νκΈ° π
κΈ°λ³Έμ μΌλ‘ phpμ μΈμ μ λΈλΌμ°μ κ° μ°κ²°μ λκ³ μΌμ μκ°μ΄ μ§λλ©΄ μΈμ λ°μ΄ν°κ° μ μ₯λ νμΌμ μμ νλ κ²μΌλ‘ μμ ν μ’ λ£κ° λ©λλ€.
κ·Έλ¬λ μ¬μ©μμ μμ²μΌλ‘ μΈμ μ μ’ λ£νλ κ²μΌλ‘ λ‘κ·Έμμ κΈ°λ₯μ λ§λ€ λμλ μ§μ μΈμ μ μ’ λ£μμΌμΌ ν©λλ€. κ·Έλ΄ λ μ¬μ©νλ ν¨μκ° session_destroy() ν¨μ μ λλ€.
<?php
// μΈμ
λ°μ΄ν°μ μ κ·ΌνκΈ° μν΄ μΈμ
μμ
if (!session_id()) {
session_start();
}
// μΈμ
λ°μ΄ν°λ₯Ό λΉ λ°°μ΄λ‘ μ΄κΈ°ν
$_SESSION = array();
// λλ session_unset(); μ¬μ©
// μΈμ
id κ°μ΄ μ μ₯λμ΄ μλ μΏ ν€λ₯Ό μμ
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(
session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
// μΈμ
νμΌ μμ
session_destory();
php 곡μλ¬Έμμ λ°λ₯΄λ©΄ session_destroy() ν¨μλ νμ¬ μΈμ μ λͺ¨λ λ°μ΄ν°λ₯Ό νκ΄΄νλ ν¨μμ΄λ€. μ¦, μΈμ μ λ°μ΄ν°κ° μ μ₯λμ΄ μλ νμΌ μ체λ₯Ό μμ νλ κ²μ΄λ€.
κ·Έλ¬λ λ¨μ§ μΈμ νμΌμ μμ νλ κ²μ΄μ§, μΈμ id κ°μ΄ μλ μΏ ν€λ κ·Έλλ‘ λ¨μμκ² λ©λλ€. κ·Έλμ setcookie()ν¨μλ₯Ό μ¬μ©ν΄ μΈμ idκ° μ μ₯λ μΏ ν€λ₯Ό κ°μ λ‘ λ§λ£μμΌ μμ ν΄μ€μΌ ν©λλ€.
λν $_SESSION λ³μμ λΉ λ°°μ΄μ λ£λ μ΄μ λ κ°μ΅λλ€. session_destroy() ν¨μκ° $_SESSION λ³μκΉμ§ ν΄μ νλ κ²μ΄ μλκΈ° λλ¬Έμ λΉ λ°°μ΄μ λ£μ΄ μ΄κΈ°νμμΌμ£Όλ κ²μ λλ€. session_unset() ν¨μλ₯Ό μ¬μ©ν΄λ κ°μ λμμ μ€νν©λλ€.
'BACKEND > PHP' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[PHP] λ°μ΄ν μ²λ¦¬ - addslashes() (0) | 2022.01.27 |
---|---|
[PHP] phpλ? (0) | 2022.01.18 |