看板 PHP 關於我們 聯絡資訊
是這樣的,公司有一套提供客戶管理自己網站的小型後台(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
CaptainH:你建立的session給執行php的主機啊... 04/14 20:51
CaptainH:然後你把客戶端轉到B網站, 那當然是未登入的. 04/14 20:52
CaptainH:試試看把A拿到的session_id也給客戶端, 如果B網站沒多做 04/14 20:53
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
danny8376:SESSION ID就在傳一次cookie啊 04/15 01:24
danny8376:路徑部份自己取代掉 04/15 01:24
alog:純粹針對 curl 作回應 04/15 02:35
alog:任何的模擬使用者操作都得帶 cookie 04/15 02:36
alog:否則 server 認不出你是誰,視為新的 visiter 發新的session 04/15 02:37
liaosankai:POSTMAN 會 parse RAW資料,curl的話要自行處理 04/15 08:14
※ 編輯: DongFeng (175.111.59.42), 04/16/2014 22:49:09