[請益] 從A網站登入到B網站

看板PHP作者 (祈)時間11年前 (2014/04/14 20:43), 11年前編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/2 (看更多)
是這樣的,公司有一套提供客戶管理自己網站的小型後台(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://www.ptt.cc/bbs/PHP/M.1397479432.A.197.html 另外就是我的cookie.txt裡頭的紀錄的值其中有false / false是正常的嗎??? ※ 編輯: DongFeng (175.111.59.133), 04/14/2014 20:47:13

04/14 20:51, , 1F
你建立的session給執行php的主機啊...
04/14 20:51, 1F

04/14 20:52, , 2F
然後你把客戶端轉到B網站, 那當然是未登入的.
04/14 20:52, 2F

04/14 20:53, , 3F
試試看把A拿到的session_id也給客戶端, 如果B網站沒多做
04/14 20:53, 3F

04/14 20:53, , 4F
檢查的話或許會成功
04/14 20:53, 4F
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

04/15 01:24, , 5F
SESSION ID就在傳一次cookie啊
04/15 01:24, 5F

04/15 01:24, , 6F
路徑部份自己取代掉
04/15 01:24, 6F

04/15 02:35, , 7F
純粹針對 curl 作回應
04/15 02:35, 7F

04/15 02:36, , 8F
任何的模擬使用者操作都得帶 cookie
04/15 02:36, 8F

04/15 02:37, , 9F
否則 server 認不出你是誰,視為新的 visiter 發新的session
04/15 02:37, 9F

04/15 08:14, , 10F
POSTMAN 會 parse RAW資料,curl的話要自行處理
04/15 08:14, 10F
※ 編輯: DongFeng (175.111.59.42), 04/16/2014 22:49:09
文章代碼(AID): #1JIzW86N (PHP)
文章代碼(AID): #1JIzW86N (PHP)