Я пытался войти на сайт (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>
Я что-то не так? Большое спасибо.
Сайт перенаправляет вас, но вы отключили перенаправление. Измените это следующим образом:
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); ^--
Сейчас я работаю с той же проблемой. Вы не отправляете хеш-пароль md5, в VB он генерируется на лету, прежде чем отправлять сообщение для входа. Чтобы предотвратить передачу информации об открытых паролях.
также здесь есть точный список сообщений vars:
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" />
как это было в форме, я пытаюсь войти в систему сейчас.