zoukankan      html  css  js  c++  java
  • 自动注册登录验证机制

    背景:

           在phpwind站点后台添加一个名为“广告管家”(广告管家为CNZZ的一款广告投放的应用)的应用,整个“广告管家”的应用是通过iframe载入,载入的具体内容根据不同站点显示针对该站点的具体内容,为了提高易用性,有以下的两点要求:
           1、首次进入“广告管家”页面自动注册CNZZ账户
           2、以后每次进入“广告管家”页面默认为首次注册的CNZZ账户

    设计:
           


         1、尝试载入用户帐号和密码信息,此信息保存在数据库或是文本缓存中
         2、当存在用户名和密码的情况下向cnzz发送一个请求用来获取Token,将此Token值加入到iframe的地址中,如此就能载入针对该用户的页面
         3、当不存在用户名和敏吗的情况下待用cnzz的注册接口,注册成功后返回token,也同样将此Token作为iframe地址的一部分用来载入页面
         4、Token值有效期只有一次,即使被截取了也能保证安全性
    代码:
    $urls = parse_url($db_bbsurl);
    	$domain = $urls['host'];
    	include_once (R_P .'require/admvclient.php');
    	$adm_oem= new Cnzz_Adm_Oem();
    	//判断config文件是否存在用户密码
    	pwCache::getData(D_P . "data/bbscache/adm_config.php");//用户名密码 配置文件
    	if (isset($adm_user) && isset($adm_pwd)) {
    		$request =	array("adm_user"=>$adm_user,"adm_pwd"=>$adm_pwd,'cms'=>'pw');
    		$token = $adm_oem->get_appkey_once($request);
    		if ($token<0){
    			if($token==-1){
    				adminmsg('传递参数为空或传递参数非数字');
    			}else if($token==-2){
    				adminmsg('传递参数password错误');
    			}
    		}else{
    			$apikey	= $token['adm_key'];
    		}
    	}else{
    		$Key = md5($domain.'KclGiq7H');
    		$request = array('cms'=>'pw','domain'=>$domain,'key'=>$Key);
    		$token = $adm_oem->reg_user_once($request);
    		if ($token<0){//异常
    			if($token==-1){
    				adminmsg('key有误');
    			} else if($token==-2){
    				adminmsg('域名长度有误(1~64)');	
    			} elseif($token==-3){
    				adminmsg('域名输入有误(比如输入汉字)');
    			} elseif($token==-4){
    				adminmsg('域名插入数据库有误');
    			} elseif($token==-5){
    				adminmsg('IP用户调用页面超过阀值,阀值暂定为10');
    			}
    		} elseif (is_array($token) && isset($token)){
    			$adm_user	=	$token['adm_user'];
    			$adm_pwd	=	$token['adm_pwd'];
    			$apikey		=	$token['adm_key'];
    			pwCache::setData(D_P.'data/bbscache/adm_config.php',"<?php\r\n\$adm_user=".$adm_user.";\r\n\$adm_pwd=".$adm_pwd."\r\n?>");
    		}
    	}
    

      

    http://www.hwxb.net 海外寻宝
  • 相关阅读:
    八卦——朋友的老公有外遇
    吃,玩——幸福的上海一天
    婚礼——金茂群楼豪华婚礼
    吃狂吃大喜九
    玩——苏州粗体验
    XCF之原形
    快速类型判定
    ReaderWriterLockSlim使用注意事项
    WCF服务端基于配置的实现——路由
    Opera使用心得
  • 原文地址:https://www.cnblogs.com/zhudong/p/2294953.html
Copyright © 2011-2022 走看看