| File: LightManager.php Lines 28 to 73 | 
 | 
28 |         } | 
 | 
29 |         $this->tokenStrategy = $strategy; | 
 | 
30 |     } | 
 | 
31 |  | 
 | 
32 |     /** | 
 | 
33 |      * トークンを作る。 | 
 | 
34 |      * | 
 | 
35 |      * @return string | 
 | 
36 |      */ | 
 |  |     public function createToken() { | 
 | 
38 |         $token = $this->tokenStrategy->createToken(); | 
 | 
39 |         $_SESSION[$this->sessionKey] = $token; | 
 | 
40 |         return $token; | 
 | 
41 |     } | 
 | 
42 |  | 
 |  |     public function getToken() { | 
 | 
44 |         if(!$this->hasToken()) { | 
 | 
45 |             $this->createToken(); | 
 | 
46 |         } | 
 | 
47 |         return $_SESSION[$this->sessionKey]; | 
 | 
48 |     } | 
 | 
49 |  | 
 |  |     public function checkToken($token) { | 
 | 
51 |         if($this->hasToken() && $token === $_SESSION['_csrf']) { | 
 | 
52 |             return true; | 
 | 
53 |         } | 
 | 
54 |         return false; | 
 | 
55 |     } | 
 | 
56 |  | 
 |  |     public function hasToken() { | 
 | 
58 |         if(isset($_SESSION[$this->sessionKey])) { | 
 | 
59 |             return true; | 
 | 
60 |         } | 
 | 
61 |         return false; | 
 | 
62 |     } | 
 |  |     public function removeToken() { | 
 | 
64 |         unset($_SESSION[$this->sessionKey]); | 
 | 
65 |     } | 
 | 
66 |  | 
 | 
67 |     /** | 
 | 
68 |      * トークンの保存先である $_SESSION のkeyを指定する | 
 | 
69 |      * | 
 | 
70 |      * 複数のトークンを扱う場合に有用。 | 
 | 
71 |      * 初期値は '_csrf' | 
 | 
72 |      * @param string $sessionKey | 
 | 
73 |      */ | 
|   |