vorona
12.11.2009, 10:52
На site.ru/in.php такой html-код:
Имя:<br/>
<input type='text' name='n' maxlength='20'/><br/>
Пароль:<br/>
<input type='password' name='p' maxlength='20'/><br/>
<input type='checkbox' name='mem' value='1' checked='checked' />Запомнить меня<br/>
<input type='submit' value='Вход'/>
Я пишу так:
<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://site.ru/in.php"); /* Переходим на страницу, на которой нужно пройти процедуру авторизации */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "n=mylogin&p=mypass&mem=1"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от сниффера – параметры разделяются знаком & */
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/file.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://site.ru"); /* Теперь заходите на сайт как авторизованный пользователь – в данном случае нужно вместо example.com указать URL страницы, на которую может попасть только авторизованный пользователь */
curl_setopt($ch, CURLOPT_POST, 0); /* Также необязательное действие, но я указал этот параметр – устанавливаю CURLOPT_POST в нуль, ведь теперь мне не нужно передавать данные методом POST */
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/file.txt'); /* Внимание! Здесь третий параметр (адрес текстового файла с куками) должен быть точно таким же, как и при использовании CURLOPT_COOKIEJAR, иначе процедура авторизации работать не будет, так как требуемые серверу Куки не передадутся */
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Кидает неавторизованным на site.ru Почему? Что я делаю неправильно?
Имя:<br/>
<input type='text' name='n' maxlength='20'/><br/>
Пароль:<br/>
<input type='password' name='p' maxlength='20'/><br/>
<input type='checkbox' name='mem' value='1' checked='checked' />Запомнить меня<br/>
<input type='submit' value='Вход'/>
Я пишу так:
<?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://site.ru/in.php"); /* Переходим на страницу, на которой нужно пройти процедуру авторизации */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "n=mylogin&p=mypass&mem=1"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от сниффера – параметры разделяются знаком & */
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/file.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://site.ru"); /* Теперь заходите на сайт как авторизованный пользователь – в данном случае нужно вместо example.com указать URL страницы, на которую может попасть только авторизованный пользователь */
curl_setopt($ch, CURLOPT_POST, 0); /* Также необязательное действие, но я указал этот параметр – устанавливаю CURLOPT_POST в нуль, ведь теперь мне не нужно передавать данные методом POST */
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/file.txt'); /* Внимание! Здесь третий параметр (адрес текстового файла с куками) должен быть точно таким же, как и при использовании CURLOPT_COOKIEJAR, иначе процедура авторизации работать не будет, так как требуемые серверу Куки не передадутся */
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Кидает неавторизованным на site.ru Почему? Что я делаю неправильно?