作者DongFeng (祈)
看板PHP
標題[請益] 從A網站登入到B網站
時間Mon Apr 14 20:43:48 2014
是這樣的,公司有一套提供客戶管理自己網站的小型後台(B網站)
這套系統原本就是設計成單一後台管理單一網站的方式,但客戶現在希望能夠有一個介面
(A網站)登入後可以列出他所有的網站,並且點擊列表中的連結後即可登入B網站後台
原來我是想點擊連結後用curl模擬登入B網站, 在B網站建立好session後再redirect到B網
站的管理介面, 誰知事情不是憨人所想得那麼簡單...
在A網站的curl結束後redirect B網站後才發現,在curl過程中建立的session不見了
Σ( ° △ °|||), 所以進入B網站後看到的畫面是正常的登入表單...
程式碼的部份我是參考
http://tinyurl.com/kdvessm ,找到的其他的例子也都大同小異
但就是不知道為甚麼到我這邊就是不行
一開始跟B網站的設計者溝通好之後, 我是先用Google Chrome的插件POSTMAN作測試,在
POSTMAN是可行且成功的,但換成用php-curl就吃鱉了...
情況就是這樣,希望知道哪個地方出了問題的前輩能夠指點我一下,先謝謝回答的各位了!!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.111.59.133
※ 文章網址: http://webptt.com/m.aspx?n=bbs/PHP/M.1397479432.A.197.html
另外就是我的cookie.txt裡頭的紀錄的值其中有false / false是正常的嗎???
※ 編輯: DongFeng (175.111.59.133), 04/14/2014 20:47:13
1F:→ CaptainH:你建立的session給執行php的主機啊... 04/14 20:51
2F:→ CaptainH:然後你把客戶端轉到B網站, 那當然是未登入的. 04/14 20:52
3F:→ CaptainH:試試看把A拿到的session_id也給客戶端, 如果B網站沒多做 04/14 20:53
4F:→ CaptainH:檢查的話或許會成功 04/14 20:53
cookie.txt裡頭有一筆名為PHPSESSID的值,不知道C大說的session_id是否就是這個?如果
是 那我要怎麼把這個值也帶給客戶端呢?
※ 編輯: DongFeng (175.111.59.133), 04/14/2014 1:05:54
我有嘗試使用第二次curl把B網站的內容抓回來輸出,但是抓回來的資料畢竟是屬於本機的
,會出現相對路徑錯誤的問題,不知道這個部分有沒有甚麼法子可以解決呢...www
※ 編輯: DongFeng (175.111.59.133), 04/14/2014 21:13:32
5F:→ danny8376:SESSION ID就在傳一次cookie啊 04/15 01:24
6F:→ danny8376:路徑部份自己取代掉 04/15 01:24
7F:→ alog:純粹針對 curl 作回應 04/15 02:35
8F:→ alog:任何的模擬使用者操作都得帶 cookie 04/15 02:36
9F:→ alog:否則 server 認不出你是誰,視為新的 visiter 發新的session 04/15 02:37
10F:推 liaosankai:POSTMAN 會 parse RAW資料,curl的話要自行處理 04/15 08:14
※ 編輯: DongFeng (175.111.59.42), 04/16/2014 22:49:09