Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2009, 13:44   #1
covetnik
Новичок
Джуниор
 
Регистрация: 15.09.2009
Сообщений: 1
По умолчанию Скрипт: залогиниться автоматом на DLE и н-р отправить лс

Вот сам скрипт, а точнее только начало. Тут я пытаюсь залогиниться на сайте.

PHP код:
<?
$username 
"login";
$password "password";
$hostname "site.ru";
$site "/admin.php";

  
// Устанавливаем соединение
  
$fp fsockopen($hostname80$errno$errstr30); 
  
// Проверяем успешность установки соединения
  
if (!$fp) echo "$errstr ($errno)<br />\n"
  else
  { 
    
// Формируем HTTP-заголовки для передачи
    // его серверу
    
echo "Соединились <br>";
    
$headers "GET $site HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Connection: Close\r\n\r\n"
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers); 
    echo 
"Отправили первый запрос <br>";
    
// Получаем ответ
    
while (!feof($fp))
    { 
      
$line fgets($fp1024); 
      echo 
"ищем сессию".$line." <br>";
      
// Ищем строку куков
      
preg_match("|Set-Cookie: PHPSESSID=([\d\w]+);|i",$line,$out);
      if(!empty(
$out[1]))
      {
        
$SID $out[1];
        echo 
"Показываю сессию".$SID."<br><br>";
        break;
      }
    } 
    
fclose($fp); 
  } 


  
$line "";

  
// Передаём методом POST имя пользователя, пароль и скрытое значение
  
  
$fp fsockopen($hostname80$errno$errstr30); 
  
// Проверяем успешность установки соединения
  
if (!$fp) echo "$errstr ($errno)<br />\n"
  else
  { 
    
// Данные POST-запроса
    
$data "subaction=dologin&username=$username&password=$password&";
    
// Формируем HTTP-заголовки для передачи
    // его серверу
    
$headers "POST $site HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n";
    
// Подделываем cookie
    
$headers .= "Cookie: PHPSESSID=$SID; dle_user_id=deleted; dle_name=deleted; dle_password=deleted; dle_hash=deleted\r\n";
    
$headers .= "Connection: Close\r\n\r\n"
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$data); 
    
// Получаем ответ
    
while (!feof($fp))
    { 
      
$line .= fgets($fp1024); 
    } 
    
fclose($fp); 
  } 
  echo 
"<br><br>ответ ".$line;
?>

В результате: пишет что доступ отклонен! т.е. я делаю что-то неправильно.

Вопрос: что я делаю неправильно?
covetnik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Никак не могу залогиниться в контакт TwiX Работа с сетью в Delphi 5 06.08.2009 10:54
как залогиниться автоматом? geget Работа с сетью в Delphi 43 30.08.2008 22:57
Как автоматом заполнить поле? Stanislav PHP 4 09.03.2008 01:57
как автоматом обновить страницу? proglamer PHP 11 25.02.2008 20:34