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<=strlen ($cookie); $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<=strlen ($oldcookie); $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; $i<=strlen ( $this->config['cookie_key'] ); $i++ ) { $newkey += ord ( $this->config['cookie_key'][ $i ] ); } return $newkey; } }