[請益] 要怎樣判斷請求來源

看板PHP作者 (凱)時間11年前 (2014/05/30 14:24), 編輯推噓0(0020)
留言20則, 3人參與, 最新討論串1/1
該如何抓到請求來源判斷 我的表單A->B 我在B 用substr_count($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME'] 可以判斷來源是由哪個網域來的 但是我發生我送去金流後 金流會在導回C 但我在C 用$_SERVER['HTTP_REFERER']是空的 要用甚麼方式確認是由哪網域 或 ip 確保安全性 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.170.31.249 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1401431082.A.BA7.html

05/30 14:34, , 1F
金流送過去的參數沒有供開發者傳的memo值嗎?
05/30 14:34, 1F

05/30 14:36, , 2F
有的 只是想想知道是否可以由誰導入過來的做為判斷方法
05/30 14:36, 2F

05/30 16:05, , 3F
換一家好嗎
05/30 16:05, 3F

05/30 16:06, , 4F
二來 HTTP REFERER 是僅供參考的東西,不該拿來做驗證
05/30 16:06, 4F

05/30 16:06, , 5F
你如果要做高度的防護,建議做在確定入帳的部分
05/30 16:06, 5F

05/30 16:07, , 6F
然後用白名單的方式限定只有某個ip才能存取相關程式
05/30 16:07, 6F

05/30 18:44, , 7F
樓上請問如果該金流不是透過 server 呼叫而是透過 redirect
05/30 18:44, 7F

05/30 18:44, , 8F
將資料在金流成功後才 post 回到網站時,這部分要怎麼鎖定
05/30 18:44, 8F

05/30 18:44, , 9F
會比較安全?
05/30 18:44, 9F

05/31 00:52, , 10F
你說的是用form傳參數嗎,這家金流我有印象
05/31 00:52, 10F

05/31 00:53, , 11F
這部分你完全沒辦法防,因為只要循著一定的參數就可以偷開單
05/31 00:53, 11F

05/31 00:54, , 12F
繳費成功的資料回傳,我印象他們有程式會POST到你的網站
05/31 00:54, 12F

05/31 00:54, , 13F
我不太清楚你說的金流成功是什麼意思
05/31 00:54, 13F

05/31 00:56, , 14F
如果是取得繳費資訊的部分,你可以對訂單的效驗做調整
05/31 00:56, 14F

05/31 00:56, , 15F
如果是確定入帳的部分,你可以觀察他們用的IP或Useragent
05/31 00:56, 15F

05/31 00:56, , 16F
不過個人不建議用 User-Agent 或 Referer 來作為參考
05/31 00:56, 16F

05/31 00:57, , 17F
這兩個 Http Header 是 Http Client 給伺服器的
05/31 00:57, 17F

05/31 00:57, , 18F
也意味著他是可以被偽造的
05/31 00:57, 18F

05/31 00:58, , 19F
最佳解還是針對IP,因為他們用的專線很固定
05/31 00:58, 19F

05/31 01:02, , 20F
如果你對這方面還是有疑慮,個人建議換一家金流業者
05/31 01:02, 20F
文章代碼(AID): #1JY2Ggkd (PHP)
文章代碼(AID): #1JY2Ggkd (PHP)