PHP操作Cookie的类

更新: 2016-07-18 21:09 作者:

php中cookie的使用方法,包括创建/更新cookie 、删除cookie、取cookie值等用法

PHP操作Cookie的类

PHP操作Cookie的类

解密已经加密了的cookie

private static function _decrypt($encryptedText)    {        

$key = Config::get('secret_key');         

$cryptText = base64_decode($encryptedText);         

$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);        

$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);        

$decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);        

return trim($decryptText);   

 }

PHP操作Cookie的类

加密cookie

$key = Config::get('secret_key'); 

$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);

$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);

$encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);

$encryptText  = trim(base64_encode($encryptText));

PHP操作Cookie的类

删除cookie

 $name = $args['name'];

 $domain = isset($args['domain']) ? $args['domain'] : null;

  isset($_COOKIE[$name]) ? setcookie($name, '', time() - 86400, '/', $domain) : true;

PHP操作Cookie的类

得到指定cookie的值

isset($_COOKIE[$name]) ? self::_decrypt($_COOKIE[$name]) : null;

PHP操作Cookie的类

设置cookie

        $name = $args['name'];

        $value= self::_encrypt($args['value']);

        $expire = isset($args['expire']) ? $args['expire'] : null;

        $path = isset($args['path']) ? $args['path'] : '/';

        $domain = isset($args['domain']) ? $args['domain'] : null;

        $secure = isset($args['secure']) ? $args['secure'] : 0;

        setcookie($name, $value, $expire, $path, $domain, $secure);

PHP操作Cookie的类

当无cookie时,本机保存cookie的文件也将删除。