2

このリンクの指示に従って、サイト(www.siamchart/forum)にログインしようとしています。 PHP cURL を使用してリモート サイトにログインします。ログインできません。次のスクリプトを実行すると、ログインに成功せずに同じログイン ページ (www.siamchart/forum) にリダイレクトされます。

私のコードは次のとおりです..

$username="ABC"; 
$password="12345"; 
$url="www.siamchart.com/forum/login.php?do=login"; 
$cookie="siamchart_cookie.txt"; 

$postdata = "vb_login_username=".$username."&vb_login_password=".$password; 

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 

curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 

echo $result;  
curl_close($ch);

編集

フォーラムは vBulletin を使用しています。これはログインページのスクリプトです

<script type="text/javascript" src="clientscript/vbulletin_md5.js?v=4111"></script>
   <form id="navbar_loginform" action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
   <fieldset id="logindetails" class="logindetails">
   <div>
     <div>
     <input type="text" class="textbox default-value" name="vb_login_username" id="navbar_username" size="10" accesskey="u" tabindex="101" value="User Name" />
     <input type="password" class="textbox" tabindex="102" name="vb_login_password" id="navbar_password" size="10" />
     <input type="text" class="textbox default-value" tabindex="102" name="vb_login_password_hint" id="navbar_password_hint" size="10" value="Password" style="display:none;" />
     <input type="submit" class="loginbutton" tabindex="104" value="Log in" title="Enter your username and password in the boxes provided to login, or click the 'register' button to create a profile for yourself." accesskey="s" />
     </div>
   </div>
   </fieldset>
   .
   .
</script>

私は何か間違ったことをしていますか?どうもありがとうございました。

4

2 に答える 2

1

現在、同じ問題に取り組んでいます。パスワードのmd5ハッシュを送信しないでください。VBでは、ログイン投稿を送信する前に、その場で生成されます。開いているパスワード情報の盗聴を防ぐため。

投稿変数の正確なリストもここにあります:

action="login.php?do=login" 
"vb_login_username" 
"vb_login_password" 
"s" value="" />
"securitytoken" value="guest" />
"do" value="login" />
"vb_login_md5password" />
"vb_login_md5password_utf" />

フォームにあったので、今ログインしようとしています。

于 2013-02-17T05:22:37.000 に答える
1

サイトはあなたをリダイレクトしていますが、あなたはリダイレクトを無効にしています。それを次のように変更します。

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
                                          ^--
于 2012-12-29T03:25:22.317 に答える