Ejemplo n.º 1
0
 static function cookie()
 {
     $param = func_get_args();
     if (func_num_args() === 1) {
         $key = $param[0];
         if (is_array($param[0])) {
             $key = $param[0][0];
             if (isset($param[0][1]) && $param[0][1]) {
                 $key = secure::token($param[0][0]);
             }
         }
         if (isset($_COOKIE[$key])) {
             if (is_numeric($_COOKIE[$key]) && $_COOKIE[$key] <= 2147483647) {
                 return $_COOKIE[$key] + 0;
             }
             return secure::symbol(trim(htmlspecialchars(strip_tags($_COOKIE[$key]))));
         }
         return null;
     }
     list($key, $value) = $param;
     $expire = isset($param[2]) ? $param[2] : 31536000;
     if (isset($param[3]) && $param[3]) {
         $key = secure::token($key);
     }
     $expire += time();
     return setCookie($key, $value, $expire, '/', trim(SITE_DOMAIN, 'www.'));
 }
Ejemplo n.º 2
0
 static function clear($key = null, $is_secret_key = false)
 {
     $is_secret_key and $key = secure::token($key);
     if (is_null($key)) {
         session_unset();
     } elseif (is_array($key)) {
         foreach ($key as $k) {
             unset($_SESSION[$k]);
         }
     } else {
         unset($_SESSION[$key]);
     }
     return true;
 }
Ejemplo n.º 3
0
 static function csrf($mode, $csrf = '')
 {
     $key = config('secure.csrf_name', 'secure');
     if ($mode === 'get') {
         return session::get($key);
     }
     if ($mode === 'check') {
         //Notice 是否只用一次并清掉cookie
         // input::cookie($key,$value,1);
         return $csrf && $csrf === session::get($key);
     }
     if ($mode === 'set') {
         $value = substr(secure::token(time()), 5, 8);
         session::set($key, $value);
         input::cookie($key, $value, 7200);
     }
     return true;
 }