$ec = new encodecookie;
$e = $ec->encodec ( md5 ('password') ); $d = $ec->decodec ( $e );
echo original cookie value : .$d; echo
; echo encoded cookie value : .$e; define (domain, 54dev.com);define (path, /);define (cookieid, encodecookie);define (cookiekey, raz); // max 5 chars is good/*** class encodecookie** encode cookies before you send them**/class encodecookie {/*** encodecookie::$config** configuration**/ var $config;/*** encodecookie::encodecookie()** constructor**/function encodecookie () { $this->config = array (); $this->config['cookie_key'] = cookiekey; $this->config['cookie'] = array ( 'cookie_id' => cookieid, 'cookie_path' => path, 'cookie_domain' => domain, );}/*** encodecookie::set_cookie()** sets the cookie** @param string $value* @param integer $sticky*/function set_cookie ($name, $value = , $sticky = 0) { $exipres = ; if ($sticky == 1) { $expires = time() + 60*60*24*365; } $name = $this->config['cookie']['cookie_id'].$name; $newvalue = $this->encodec ($value); @setcookie($name, urlencode($newvalue), $expires, $this->config['cookie']['cookie_path'], $this->config['cookie']['cookie_domain']);}/*** encodecookie::get_cookie()** gets the cookie**/function get_cookie ($name) { if ( isset( $_cookie[$this->config['cookie']['cookie_id'].$name] ) ) { $cookie = urldecode ( $_cookie[$this->config['cookie']['cookie_id'].$name] ); return $this->decodec ($cookie); } else { return false; }}/*** encodecookie::encodec()** encodes the cookie**/function encodec ($cookie) { $newcookie = array (); $cookie = base64_encode ($cookie); for ( $i=0; $i $newcookie[ $i ] = ord ( $cookie[ $i ] ) * $this->encodekey (); } $newcookie = implode ('.', $newcookie);return $newcookie;}/*** encodecookie::decodec()** decodes the cookie**/function decodec ($oldcookie) { $newcookie = array (); $cookie = explode ('.', $oldcookie); for ( $i=0; $i $newcookie[ $i ] = chr ( $cookie[ $i ] / $this->encodekey () ); } $newcookie = implode ('', $newcookie); $newcookie = base64_decode ($newcookie);return $newcookie;}/*** encodecookie::encodekey()** encodes the key**/function encodekey () { $newkey = 0; for ( $i=0; $iconfig['cookie_key'] ); $i++ ) { $newkey += ord ( $this->config['cookie_key'][ $i ] ); }return $newkey;}}
复制代码
