iT邦幫忙

0

【請問 php 如何抓到 browser 的 cookie ???】

【我的 client、server是同一台的情況下】
假設
我們手動登入一個網站(例如 gmail 好了)
登入成功後,把網頁關了(不是登出)
此時我們再開一個網頁,理論上是直接登入而不用再驗證
請問有什麼方法
可以做到類似
php 把 client 登入網站成功的 cookie 接手去用(類似像再開一次網頁的感覺)

外獅佬 iT邦大師 1 級 ‧ 2013-04-17 23:27:58 檢舉
建立cookie -- setcookie
讀取cookie -- $_COOKIE["variable"]
刪除cookie -- setcookie -- 清除變數值,最好讓存活時間早於現在時間,比較保險...
-------------------------------------
只是....這是你要的嗎?疑惑
andyto202 iT邦研究生 4 級 ‧ 2013-04-18 14:09:53 檢舉
好像不是這麼單純的東西
你就想說
用 cURL 去抓 gmail 的信
但裡面不能放帳、密
只能讓它讀 cookie
而且 cookie 是手動登入的瀏覽器的
這樣子可以成功
代表以後就算有 cURL 無法登入的網頁
一樣有辦法透過接手 cookie
來抓到資料
不知道這樣子的觀念有沒有錯??

2 個回答

6
wiseguy
iT邦超人 1 級 ‧ 2013-04-18 09:59:43

除非登入時要輸入 captcha,不然的話,其實可以不必手動用瀏覽器登入之後再讓 PHP 接手 cookie ... 那麼麻煩。直接在 PHP 用 cURL 連登入也一起做掉,並且開啟記錄 cookie 的功能就好了。
做法是你只要用瀏覽器登入一次,並用 fiddlerhttpwatch 之類的工具,記錄來往的 url 及內容,然後以 PHP/cURL 模擬即可。這就是所謂的 web robot。半夜搶熱門車票、固定時間更新臉書、去各大部落格貼垃圾廣告回應等等,都用這種技巧。

andyto202 iT邦研究生 4 級 ‧ 2013-04-18 14:07:08 檢舉

回 wiseguy 兄的話
我知道如果可以登入的話
從頭到尾就用 cURL 解決就行了

這個問題其實是延伸我之前問的
就是 CA 認證我登入不進去(只好靠手動)
但就算用手動好了(也不知道怎麼把 cookie 丟給 php 接手,該不會看完
httpwatch後,也手動把 cookie 手動貼到 php 吧無言)
不知道大家遇到那種登入不進去的網頁要怎麼抓資料
還是大家都可以進想要抓的網站去Orz

wiseguy iT邦超人 1 級 ‧ 2013-04-18 20:25:26 檢舉

andyto202提到:
CA 認證我登入不進去

這句我不知道是啥意思 疑惑

andyto202 iT邦研究生 4 級 ‧ 2013-04-19 00:10:35 檢舉

就是要插卡登入啦
像要線上ATM轉帳一樣
我們要插識別證登入
我雖然知道識別證的 PIN 碼是什麼
但登入不進去
我用 httpwatch 看,它有送一大串的碼還加密過的到伺服器端
因為如果用 cURL ,不是也要這把串送出去嗎
但這串每次都不一樣
所以很頭痛

4
炎之虛空
iT邦高手 3 級 ‧ 2013-04-18 12:54:43

這部分需要將SESSION做成DB方式處理
然後再搭配cookie紀錄特徵碼來讀取SESSION的紀錄、回寫SESSION資訊
這個你可以去看看一些討論區專用文章

我要發表回答

立即登入回答