在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?>");

}

}

?>

php注册登录遍写入 遍验证,在文件指定行中写入内容的php...-自动注册登录验证机制的php代...-php中出现Undefined index报错的修复方法_169IT.COM...相关推荐

  1. AD20元件重叠绿色报错的解决方法,距离太近绿色报错

    有时因为元件靠的太近而导致绿色的报错. 但在实际中这样使用是没有问题的,可以人为的消除掉元件间距离检查. 距离太近报错的修改方法 设计 - 规则 - 将 ComponentClearance 中的 最 ...

  2. 登录网银显示服务器内部错误怎么办,网银提示无法大额转账?点击登录出现报错?解决方法看这里...

    原标题:网银提示无法大额转账?点击登录出现报错?解决方法看这里 为 帮助大家能够 更好地使用江西·农商银行网上银行 今天小编收集了一些 关于网上银行的常见问题 并详细为大家解答 1️⃣ 跨行转账(个人 ...

  3. python 文件写入多个参数_pandas 把数据写入txt文件每行固定写入一定数量的值方法...

    我遇到的情况是:把数据按一定的时间段提出.比如提出每天6:00-8:00的每个数据,可以这样做: # -*-coding: utf-8 -*- import pandas as pd import d ...

  4. K8S 1.18.0 以及KubeEdge 1.10.3 三机安装部署(含过程记录及遇到的报错和解决方法)

    因为网络上大多数教程只有部署相关的命令,而无输入命令后正确界面的显示样例,因此在参考网络上教程并跟随实现的过程中,我将过程进行截图记录,供大家参考.希望对大家有帮助~ 一. K8S部署 选用了三台虚拟 ...

  5. 华为ensp报错40问题解决方法

    在使用华为ensp仿真软件的时候,对于路由器AR的启动经常会报错40和41 1.ensp以及辅助软件不兼容问题 (1)检查Vbox是否安装相对应版本,Vbox版本不兼容,ensp会出现报错41的情况, ...

  6. python googletrans_Python使用googletrans报错的解决方法

    问题 最近在工作中发现了一个问题,Python代码一直用着免费的Google翻译API插件googletrans,这两天突然就报错了: Traceback (most recent call last ...

  7. win11u盘安装报错怎么办 windows11u盘安装报错的解决方法

    现在安装系统的方式有很多种,U盘就是其中一种,最近有用户在使用U盘安装Win11系统的时候,在安装的途中出现系统报错的情况,那么我们遇到u盘安装win11系统报错怎么办呢?很多用户都不清楚该如何解决, ...

  8. emoji表情mysql报错_MySql存储emoji表情报错的处理方法

    mysql存储emoji表情报错的处理方法:更改编码为utf8mb4 uft-8编码可能2个字节.3个字节.4个字节,而MySql的uft-8只支持3字节的数据,而移动端的表情数据是4字节的字符.如果 ...

  9. git push origin master报错的解决方法 常见git命令(待更新)

    git push origin master报错的解决方法 & 常见git命令(待更新) 参考Git常用命令 文章目录 git push origin master报错的解决方法 & ...

最新文章

  1. 据说,程序员已成为女生年度最喜欢男友职业Top3?
  2. 配置kali linux
  3. 产品经理入门——PM
  4. javascript之作用域
  5. 为指定的职工在原工资的基础上长10%的工资,并打印涨工资前和涨工资后的工资
  6. 一文了解MySQL的Buffer Pool
  7. lambda不是python的保留字_python-nonlocal关键字的使用,lambda表达式(学习到function到变...
  8. PAT乙级真题 | 1006 换个格式输出整数
  9. webservice 实现通知支付结果到OA
  10. G502使用计算机配置,罗技G502鼠标驱动调试详解!实战《男友4》设置!
  11. 服务器显示叹号DASD,ibm system x3850 x5服务器DASD亮橙色灯怎么处理
  12. python光标图片获取
  13. weblogic安装部署
  14. 如何下载安装chrome扩展程序
  15. 【Running latest Apollo with SVL Simulator 使用 SVL 模拟器运行最新的 Apollo】
  16. 黔程似锦——2021国庆游攻略
  17. 【Lesson 12】中古风五声音阶——和弦使用技巧
  18. 打印机连供加墨的新方式
  19. 老板说java后台管理系统3天内必须上线,我丢了这套源码给他
  20. 一本好书 C++高级进阶教程

热门文章

  1. 零基础学Python(第二十一章 OS文件目录)
  2. linux OOM-killer机制(杀掉进程,释放内存)
  3. Linux漏洞CVE整理
  4. tomcat的日志文件权限与启动用户的权限不一致
  5. LOJ#6085. 「美团 CodeM 资格赛」优惠券(set)
  6. vue-cli创建新项目
  7. Magento学习手记(第十天)
  8. 概要设计说明书(转载)
  9. git 忽略文件 .gitignore 以及规则
  10. Windows Form -----内容(2)