溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

詳解php流程控制中的主動(dòng)與被動(dòng)

發(fā)布時(shí)間:2021-01-14 14:58:23 來(lái)源:億速云 閱讀:124 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)詳解php流程控制中的主動(dòng)與被動(dòng),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是主動(dòng)與被動(dòng). 舉個(gè)例子吧. 你跑去boss辦公室要求要加工資, 這就是主動(dòng), 無(wú)論是從你自身角度來(lái)看, 還是boss角度來(lái)看, 你都是主動(dòng)的, 是積極樂(lè)觀(guān)的一面. 假如boss讓你去辦公室, 然后讓你把淘寶架構(gòu)出來(lái), 給你漲20%工資, 這就叫被動(dòng). 相信承諾了你就被動(dòng). 主動(dòng)與被動(dòng)簡(jiǎn)單就這樣理解. 而程序流程中也會(huì)碰到如此難堪的主動(dòng)與被動(dòng)問(wèn)題. 我們看示例.

A clier
當(dāng)buy qq購(gòu)買(mǎi)商品成功后, 通知QQ主服務(wù)器. 通過(guò)http協(xié)議.
file_get_contents('http://www.qq.com/api.php?add_saleinfo=buy_qq&orderid=12345&pay=888&email=a@qq.com');

代碼運(yùn)行在buy.qq.com上面, 理解上來(lái)說(shuō)是安全的, 但事實(shí)呢? 假如某人散發(fā)了此接口, 后果將不可估計(jì). 人人都可以偽造訂單信息植入到qq.com. 無(wú)論你是如何限制來(lái)路, 數(shù)據(jù)檢查. 退一萬(wàn)步, 危險(xiǎn)的是寫(xiě)這代碼的人. 那大家都會(huì)問(wèn), 既然是寫(xiě)代碼的人, 權(quán)限已經(jīng)很大,怎么防止得了? 這就需要由被動(dòng)(qq.com) 變主動(dòng). http://www.qq.com/api.php?add_saleinfo=buy_qq修改成不再接收任何的訂單信息. 而是token值. 收到token值后, 接口回調(diào)buy.qq的查詢(xún)接口, 然后再入庫(kù). 普通用戶(hù)再也創(chuàng)造不出token值, 就算知道buy.qq的查詢(xún)接口, 也不可能影響到qq.com, 作為主體qq.com 基本上屬于主動(dòng), 不會(huì)時(shí)刻在混亂入庫(kù), 而是主動(dòng)分析, 思考入庫(kù).

道理相同, 淘寶客玩家也有這個(gè)問(wèn)題. 比如以前暴出來(lái)的部分瀏覽器修改網(wǎng)頁(yè)中的pid值, 讓用戶(hù)損失慘重. 這就是被動(dòng)的結(jié)果. php是這樣寫(xiě)的, php 請(qǐng)求淘寶api接口,接收到商品信息, 里面就有商品購(gòu)買(mǎi)鏈接, 正正是這個(gè)購(gòu)買(mǎi)鏈接讓站長(zhǎng)變成了被動(dòng). 在頁(yè)面直接href這個(gè)鏈接的用戶(hù)都有可能被人采集, 被瀏覽器修改pid. 接下來(lái), 你是懂的, pid代表金錢(qián). 后期有人已經(jīng)想到了這個(gè)問(wèn)題, 就采取了被動(dòng)變主動(dòng)的做法, 防止bug產(chǎn)生. 就是將商品鏈接不直接顯示, 而通過(guò)一個(gè)php修改. 用戶(hù)看到的url類(lèi)似: www.qq.com/tao/buy.php?sid=aaaa333 sid肯定不是pid值, 所有工作都由buy.php來(lái)承載, 主動(dòng)承擔(dān)分析及安全檢測(cè)工作.

QQ 互聯(lián)2.0 目前已經(jīng)廣泛應(yīng)用在互聯(lián)網(wǎng)站點(diǎn)上, 作為用戶(hù)數(shù)據(jù)主心的graph.qq.com如何保障用戶(hù)安全呢? 在保障訪(fǎng)問(wèn)速度的前提下也要完善安全. QQ登錄目前的流程如下: 首先由appid appkey callbackurl組合成一串鏈接, 然后跳轉(zhuǎn)到qq.com. 這就是為什么許多站點(diǎn)直接訪(fǎng)問(wèn) qqlogin.php就能夠跳轉(zhuǎn)到qq登錄頁(yè), 因?yàn)檫@參數(shù)都是固定的, 安全性還算可以. 登錄過(guò)程仍然在qq.com, 這就是phper經(jīng)常談到的單點(diǎn)登錄. 登錄成功后會(huì)直接跳到callbackurl頁(yè)上, callbackurl此時(shí)得到的信息仍然不足以證明用戶(hù)登錄成功了, 僅僅得到了token值, 所以進(jìn)入第二步, 用token值去qq api接口上查詢(xún)用戶(hù)openid, 完成登錄. 這樣, QQ就得主動(dòng), 查詢(xún)結(jié)果并不簡(jiǎn)單是成功與否, 而是相應(yīng)的參數(shù)及提示信息, 無(wú)論后期如何增加, 都可以兼容. 騰訊掌握著主動(dòng)權(quán), 這對(duì)于上億用戶(hù)量的企業(yè)來(lái)說(shuō)是非常重要的. 內(nèi)部安全還有判斷域名與appid對(duì)應(yīng), token過(guò)期檢查, ip限制. 技術(shù)層面來(lái)看騰訊是有的.

看完上述內(nèi)容,你們對(duì)詳解php流程控制中的主動(dòng)與被動(dòng)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI