2011-07-15 4 views
0

質問: サイトにログインして、そのユーザーの下のサイト(PHP)の情報を読み取ることはできますか?サイトにログインしてそのユーザーの下の情報をPHPで読むことはできますか?

例: 多くのウェブサイトは動的で、データベースからのPHP描画情報を持っています。 example.comにログインがあったとします。

ている間は、表示されるページexample.com/test.phpログイン:「こんにちはユーザー」、およびログインしていない時に表示していました:「あなたはここにユーザーのサインじゃない」

は、認証を言うことができますプロセスはセッションであり、ユーザはexample.com/test.phpでユーザにメッセージを見ることができるセッションを開始する場合は、タグ "user"と "pass"でフォームを投稿してログインします。

質問: サイトにログインし、そのユーザーの下にあるサイトから情報を読み取ることはできますか?

私は周りを見てきましたが、これにアプローチする方法がわかりません。何かが助けになるでしょう。前もって感謝します。

+0

答えは「はい」です。 – Sven

答えて

0

次のことができます(カール付き)

 $ckfile = tempnam ("/tmp", "CURLCOOKIE"); 
     $ch = curl_init("http://example.com/index.php"); 
     curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile); 
     curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $output = curl_exec ($ch); 
     curl_close($ch); 


     $ch = curl_init(); 
     $fields = array(
       'username' => 'genesis', 
       'pass' => 'pass', 
       'other' => 'post fields' 
     ); 
     foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; } 
     curl_setopt($ch, CURLOPT_URL, "http://example.com/login.php"); 
     curl_setopt($ch, CURLOPT_HEADER, 1); 
     curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile); 
     curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_AUTOREFERER, 1); 
     curl_setopt($ch, CURLOPT_POST,1); 
     curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
     $result = curl_exec($ch); 
     curl_close($ch); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, "http://example.com/logged_page.php"); 
     curl_setopt($ch, CURLOPT_HEADER, 1); 
     curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile); 
     curl_setopt($ch, CURLOPT_AUTOREFERER, 1); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
     $needed_information = curl_exec($ch); 
     curl_close($ch); 
1

もちろん、file_get_contents + streamsやcurlを使用してPHPでデータを取得できます。 php内でjavascriptを実行できるライブラリがあるので、動的ページでも処理できます。

質問は、PHP内で基本的にブラウザを構築するすべての作業の価値があることです。

0

PHP can do thisしかし、その目的のために設計されていません。

PHP構文はPerlをベースにしていますが、これが適しています。 Pythonを試してみることもできます。

関連する問題