99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

COOKIE:對COOKIE原生態(tài)的支持及記憶加密升級版

2018-11-21 21:18 更新

只要你能把握自己,你就能把握任何東西。 -- 古諺語

1.28.1 原生態(tài)的支持

應(yīng)開發(fā)同學(xué)的需求,這里補(bǔ)充對COOKIE的支持。

因?yàn)?,確實(shí)在項(xiàng)目的開發(fā)過程中,有時(shí)是需要對COOKIE進(jìn)行處理的。所以,這里提供了簡單的原生態(tài)支持。

下面通過代碼示例來簡明如何使用。

(1)注冊COOKIE服務(wù)

如同其他的服務(wù)一樣,我們在使用前需要對COOKIE進(jìn)行注冊。不需要用到COOKIE的同學(xué),可以忽略此服務(wù)的注冊。

在初始化文件init.php中添加如下注冊代碼:

//COOKIE
DI()->cookie = 'PhalApi_Cookie';

(2)使用

查看PhalApi_Cookie提供的接口,可以得到針對COOKIE的三種操作:

//設(shè)置COOKIE服務(wù)
DI()->cookie->set('name', 'phalapi', $_SERVER['REQUEST_TIME'] + 600);

//獲取
echo DI()->cookie->get('name');  //輸出 phalapi

//刪除
DI()->cookie->delete('name');

1.28.2 記憶加密升級版

實(shí)際情況,項(xiàng)目的使用的情況更為復(fù)雜。

比如,需要對數(shù)據(jù)進(jìn)行加解密,或者需要突破COOKIE的限制(設(shè)置后需要下一次請求才能獲取,不過這也正是COOKIE的特點(diǎn)),想記住這一次設(shè)置的內(nèi)容。所以,額外提供了這個(gè)升級版本。

(1)注冊COOKIE服務(wù)

和原生態(tài)的初始化,有些許不同,在于需要配置指定加解密的服務(wù)。如下:

$config = array('crypt' => $crypt, 'key' => 'a secrect');
DI()->cookie = new PhalApi_Cookie($config);

上面中的crypt即為加密解服務(wù),未指定時(shí)使用DI()->crypt,需要實(shí)現(xiàn)PhalApi_Crypt接口;key則為對應(yīng)的密鑰。

(2)使用COOKIE服務(wù)

使用同原生態(tài)一樣,客戶端感知不到區(qū)別,這里不再贅述。

(3)一個(gè)簡單的實(shí)現(xiàn)示例

假設(shè)我們有這樣一個(gè)簡單的加解密類(真的很簡單的):

class Cookie_Crypt_Mock implements PhalApi_Crypt {

    public function encrypt($data, $key) {
        return base64_encode($data);
    }

    public function decrypt($data, $key) {
        return base64_decode($data);
    }
}

隨后,寫一個(gè)簡單的接口測試一下(因?yàn)樯婕暗紺OOKIE的操作,需要與瀏覽器可視化測試,所以沒用單元測試):

    public function cookieTest() {
        $rs = array();

        $config = array('crypt' => new Cookie_Crypt_Mock(), 'key' => 'a secrect');
        DI()->cookie = new PhalApi_Cookie_Multi($config);

        $rs['aEKey'] = DI()->cookie->get('name');
        DI()->cookie->set('name', 'phalapi', $_SERVER['REQUEST_TIME'] + 600);

        return $rs;

    }

運(yùn)行效果如下:

apic

從上圖中可以看出,COOKIE在瀏覽器已經(jīng)被我們做了“加密”,哈哈~

1.28.3 一如其他框架的建議

  • 1、敏感數(shù)據(jù)不要存到COOKIE,以保證數(shù)據(jù)安全
  • 2、大的數(shù)據(jù)不要存到COOKIE,以保證瘦的客戶端

1.28.4 擴(kuò)展你的COOKIE

如需擴(kuò)展,請重載PhalApi_Cookie基類。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號