微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

这一年来,广大的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,支付宝,都是类似的道理.

原文地址:https://www.jb51.cc/php/26894.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐