介绍
今天就跟大家聊聊有关在PHP利用饼干怎么实现一个倒计时功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
登陆控制器需要做的登陆成功把用户ID等信息存入饼干:
$ this→systemSetKey(数组('名字'=祝辞admin_info美元(“admin_name”),“ID”=祝辞admin_info美元[' admin_id '], ' gid '=祝辞admin_info美元(“admin_gid”),“sp”=祝辞admin_info美元[' admin_is_super ']));//登陆成功之后做得事情
父类中的systemSetKey方法:
__construct保护功能(){ 语言::阅读(常见,布局);/* * *验证用户是否登录 * $ admin_info管理员资料名称标识 */$ this→admin_info=$这→systemLogin();//取得管理员的资料,之后的子类控制器继承构造方法 if ($ this→admin_info [' id '] !=1) {//验证权限 $ this→checkPermission (); }//转码防止GBK下用ajax调用时传汉字数据出现乱码 如果(($ _GET['分支']!=" | | $ _GET [' op ')==癮jax”),,strtoupper(字符集)==GBK) { $ _GET=语言::getGBK ($ _GET); } }/* * *系统后台登录验证 * * @param * @return数组数组类型的返回结果 */受保护的最终功能systemLogin () {//取得饼干内容,解密,和系统匹配 $ user=unserialize(解密(饼干(“sys_key”), MD5_KEY));//取饼干里面储存的信息,现在使用的框架里面自定义了饼干的加密方式 如果(! key_exists (gid,(数组)$ user) | | !收取(用户(“sp”)美元)| |(空($用户['名字'])| |空($ user (“id”)))){//假如不存在说明用户没登陆或者用户长时间未操作饼时间过期跳到登陆页面去 @header(地点:index.php& # 63; mod=login&行动=登录');退出; 其他}{ $ this→systemSetKey ($ user);//如果用户有登陆的话,每一个操作都会重写刷新饼干; } 返回用户美元; }
加密函数:
/* * *加密函数 * * @param字符串$ txt需要加密的字符串 * @param字符串$关键密钥 * @return字符串返回加密结果 */函数加密(txt,关键="美元){ 如果(空(txt)美元)返回$ txt; 如果美元(空(键)美元)键=md5 (MD5_KEY); $字符=癆BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 _ !”; $艾奇=?x6g6ZWm2G9g_vr0Bo.pOq3kRIxsZ6rm"; 氨基美元=兰德(0,64); $ nh3=兰德(0,64); $ nh4=兰德(0,64); 美元ch2=$字符{$氨基}; 美元ch3=$字符{$ nh3}; ch4美元=$字符{$ nh4}; nhnum=氨基美元+氨+ nh4美元; knum=0;我美元=0; 而(收取(美元关键{$ i})) $ knum +=奥德($关键{$我+ +}); $ mdKey=substr (md5 (md5 (md5(关键。美元ch2)。ch3。犹太人)美元。美元ch4), nhnum % 8美元,美元knum % 8 + 16); $ txt=base64_encode(时间()。‘_’。$ txt); $ txt=str_replace(数组(' + ','/','='),数组(“-”、“_”、“。”),$ txt); $ tmp=? j=0; k美元=0; $ tlen=strlen ($ txt); 美元klen=strlen (mdKey美元); ($ i=0;i,解密函数:
/* * *解密函数 * * @param字符串$ txt需要解密的字符串 * @param字符串$关键密匙 * @return字符串字符串类型的返回结果 */解密函数($ txt,关键=",ttl美元=0){ 如果(空(txt)美元)返回$ txt; 如果美元(空(键)美元)键=md5 (MD5_KEY); $字符=癆BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 _ !”; $艾奇=?x6g6ZWm2G9g_vr0Bo.pOq3kRIxsZ6rm"; knum=0;我美元=0; $ tlen=@strlen ($ txt); 而(收取(美元关键{$ i})) $ knum +=奥德($关键{$我+ +}); $ ch2=@ $ txt {knum % tlen美元}; $氨基=大小写敏感(识字课,ch2美元); $ txt=@substr_replace ($ txt”, knum % tlen美元———1); $ ch3=@ $ txt{氨基% tlen美元}; $ nh3=@strpos(识字课,ch3美元); $ txt=@substr_replace ($ txt”, nh2 % tlen美元———1); $ ch4=@ $ txt {nh3 % tlen美元}; $ nh4=@strpos(识字课,ch4美元); $ txt=@substr_replace ($ txt”, nh3 % tlen美元———1); nhnum=氨基美元+氨+ nh4美元; $ mdKey=substr (md5 (md5 (md5(关键。美元ch2)。ch3。犹太人)美元。美元ch4), nhnum % 8美元,美元knum % 8 + 16); $ tmp=? $ j=0;$ k=0; $ tlen=@strlen ($ txt); (klen=@strlen美元mdKey); ($ i=0;i在PHP利用饼干怎么实现一个倒计时功能