php语言流程控制中的主动与被动

 更新时间:2012年11月05日 17:22:55   作者:  
首先先祝广大的phper们光棍节快乐, 有时放下键盘, 寻找真爱才是当务之急
这一年来,广大的phper都在辛勤劳作, 比如淘宝改版, 云计算, 腾讯开放平台, 网游, 这些作品少不了phper的功劳, 相信php语言可以继续领先行业10年, 我们憧憬未来50年, 100年, php仍然如此叱咤风云. 我们都是渺小的一员, 除了会php, 其它也就不精, 难以为生. 大家都作努力吧.

什么是主动与被动. 举个例子吧. 你跑去boss办公室要求要加工资, 这就是主动, 无论是从你自身角度来看, 还是boss角度来看, 你都是主动的, 是积极乐观的一面. 假如boss让你去办公室, 然后让你把淘宝架构出来, 给你涨20%工资, 这就叫被动. 相信承诺了你就被动. 主动与被动简单就这样理解. 而程序流程中也会碰到如此难堪的主动与被动问题. 我们看示例.

A clier
当buy qq购买商品成功后, 通知QQ主服务器. 通过http协议.
file_get_contents('http://www.qq.com/api.php?add_saleinfo=buy_qq&orderid=12345&pay=888&email=a@qq.com');

代码运行在buy.qq.com上面, 理解上来说是安全的, 但事实呢? 假如某人散发了此接口, 后果将不可估计. 人人都可以伪造订单信息植入到qq.com. 无论你是如何限制来路, 数据检查. 退一万步, 危险的是写这代码的人. 那大家都会问, 既然是写代码的人, 权限已经很大,怎么防止得了? 这就需要由被动(qq.com) 变主动. http://www.qq.com/api.php?add_saleinfo=buy_qq修改成不再接收任何的订单信息. 而是token值. 收到token值后, 接口回调buy.qq的查询接口, 然后再入库. 普通用户再也创造不出token值, 就算知道buy.qq的查询接口, 也不可能影响到qq.com, 作为主体qq.com 基本上属于主动, 不会时刻在混乱入库, 而是主动分析, 思考入库.

道理相同, 淘宝客玩家也有这个问题. 比如以前暴出来的部分浏览器修改网页中的pid值, 让用户损失惨重. 这就是被动的结果. php是这样写的, php 请求淘宝api接口,接收到商品信息, 里面就有商品购买链接, 正正是这个购买链接让站长变成了被动. 在页面直接href这个链接的用户都有可能被人采集, 被浏览器修改pid. 接下来, 你是懂的, pid代表金钱. 后期有人已经想到了这个问题, 就采取了被动变主动的做法, 防止bug产生. 就是将商品链接不直接显示, 而通过一个php修改. 用户看到的url类似: www.qq.com/tao/buy.php?sid=aaaa333 sid肯定不是pid值, 所有工作都由buy.php来承载, 主动承担分析及安全检测工作.

QQ 互联2.0 目前已经广泛应用在互联网站点上, 作为用户数据主心的graph.qq.com如何保障用户安全呢? 在保障访问速度的前提下也要完善安全. QQ登录目前的流程如下: 首先由appid appkey callbackurl组合成一串链接, 然后跳转到qq.com. 这就是为什么许多站点直接访问 qqlogin.php就能够跳转到qq登录页, 因为这参数都是固定的, 安全性还算可以. 登录过程仍然在qq.com, 这就是phper经常谈到的单点登录. 登录成功后会直接跳到callbackurl页上, callbackurl此时得到的信息仍然不足以证明用户登录成功了, 仅仅得到了token值, 所以进入第二步, 用token值去qq api接口上查询用户openid, 完成登录. 这样, QQ就得主动, 查询结果并不简单是成功与否, 而是相应的参数及提示信息, 无论后期如何增加, 都可以兼容. 腾讯掌握着主动权, 这对于上亿用户量的企业来说是非常重要的. 内部安全还有判断域名与appid对应, token过期检查, ip限制. 技术层面来看腾讯是有的.

这样例子很多, paypal, 支付宝,都是类似的道理.

相关文章

  • php中限制ip段访问、禁止ip提交表单的代码分享

    php中限制ip段访问、禁止ip提交表单的代码分享

    在项目应用中,我们经常需要用到限制ip段访问或者限制IP提交表单等等ip相关的功能,今天我来分享下本人所使用的这块代码,希望对大家有所帮助
    2014-08-08
  • php过滤html标记属性类用法实例

    php过滤html标记属性类用法实例

    这篇文章主要介绍了php过滤html标记属性类及其用法,包括对HTML标记元素的过滤、移除、转义等等操作,非常实用,需要的朋友可以参考下
    2014-09-09
  • php自定义apk安装包实例

    php自定义apk安装包实例

    这篇文章主要介绍了php自定义apk安装包的方法,主要通过ZipArchive类来实现这一功能,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • 什么是PHP7中的孤儿进程与僵尸进程

    什么是PHP7中的孤儿进程与僵尸进程

    在本篇内容里小编给大家整理了关于PHP7之孤儿进程与僵尸进程的知识点和概念,需要的朋友们学习参考下。
    2019-04-04
  • PHP实现模仿socket请求返回页面的方法

    PHP实现模仿socket请求返回页面的方法

    这篇文章主要介绍了PHP实现模仿socket请求返回页面的方法,是socket通信非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • 老生常谈php 正则中的i,m,s,x,e分别表示什么

    老生常谈php 正则中的i,m,s,x,e分别表示什么

    下面小编就为大家带来一篇老生常谈php 正则中的i,m,s,x,e分别表示什么。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Swoole 1.10.0新版本发布,增加了多项新特性

    Swoole 1.10.0新版本发布,增加了多项新特性

    最近Swoole 1.10.0版本发布了,增加多项新特性,所以下面这篇文章主要给大家介绍了关于Swoole 1.10.0版本中新特性的相关资料,分享出来供大家参考学习,需要的朋友可以参考下
    2018-01-01
  • php遍历类中包含的所有元素的方法

    php遍历类中包含的所有元素的方法

    这篇文章主要介绍了php遍历类中包含的所有元素的方法,涉及php中getConstants方法及数组操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • PHP网页缓存技术优点及代码实例

    PHP网页缓存技术优点及代码实例

    这篇文章主要介绍了PHP网页缓存技术优点及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • PHP程序员不应该忽略的3点

    PHP程序员不应该忽略的3点

    这篇文章主要介绍了PHP程序员不应该忽略的3点,变量、数组的应用技巧;正则表达式;模板,需要的朋友可以参考下
    2015-10-10

最新评论