Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Отправка сообщения через сокеты.

Сообщения:  [1-10]   [11-14] 

 
 автор: Drago   (27.12.2005 в 19:56)   письмо автору
 
   для: cheops   (27.12.2005 в 13:27)
 

Спасибо. Так бы сразу и сказали. :)
Раз это сделать сложно, то делать это дальше, не вижу смысла, так как "Овчинка, выделки не стоит". :)

   
 
 автор: cheops   (27.12.2005 в 13:27)   письмо автору
 
   для: Drago   (26.12.2005 в 23:01)
 

Достаточно сложно решить проблему, особенно если владельцы источника против такого использования и выстраивают защиту (так как точно узнать, что они используют для защиты невозможно), кроме того не очень хорошо с моральной точки зрения.

   
 
 автор: Drago   (26.12.2005 в 23:01)   письмо автору
 
   для: Drago   (25.12.2005 в 14:00)
 

Вы уж извените за мою настырность, но кто-нибудь может мне помочь с этой проблемой?

   
 
 автор: Drago   (25.12.2005 в 14:00)   письмо автору
 
   для: cheops   (25.12.2005 в 13:42)
 

Пробовал вот так, в результате куки не распазнаются.

<?php 
  $hostname 
"www.site.net"
  
$path "/folder/?messages&add"
  
$fp fsockopen($hostname80$errno$errstr30); 
  if (!
$fp
    echo 
"$errstr ($errno)<br />\n"
  else 
  { 
    
$headers "GET $path HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Connection: Close\r\n\r\n";    
    
fwrite($fp$headers); 
    while (!
feof($fp)) 
    { 
      
$line fgets($fp1024);     
      
preg_match("|Set-Cookie: PHPSESSID=([\d\w]+);|i",$line,$out); 
      if(!empty(
$out[1])) 
      { 
        
$SID $out[1]; 
        
$f fopen ("file""w");
        
fwrite ($f$SID);
        
fclose ($f);
        break; 
      } 
    } 
    
fclose($fp); 
  } 

  
$hostname "www.site.net"
  
$path "/folder/?messages&add"
  
$line ""
  
$fp fsockopen($hostname80$errno$errstr30); 
  if (!
$fp) echo "$errstr ($errno)<br />\n"
  else 
  {     
    
$data "touser=name&title=title&text=text&sendbutton=1&\r\n\r\n";     
    
$headers "POST $path 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";     
    
$headers .= "Cookie: PHPSESSID=$SID;\r\n";
    
$headers .= "Cookie: heroesuserid=login+".$SID."_id_;\r\n"
    
$headers .= "Referer: http://www.site.net/folder/?messages&add\r\n";
    
$headers .= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n";
    
$headers .= "Connection: Close\r\n\r\n";     
    
fwrite($fp$headers.$data);     
    while (!
feof($fp)) 
    { 
      
$line .= fgets($fp1024); 
    } 
    
fclose($fp); 
  } 
  echo 
$line
?>

Выдает вот это

HTTP/1.1 302 Found Date: Sun, 25 Dec 2005 10:57:12 GMT Server: Apache/1.3.29 (Unix) PHP/5.0.4 mod_deflate/1.0.19 rus/PL30.19 X-Powered-By: PHP/5.0.4 Set-Cookie: PHPSESSID=60e27394a33da26385f5c7fea39cf4f5; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: userid=deleted; expires=Sat, 25 Dec 2004 10:57:11 GMT; path=/; domain=.site.net Set-Cookie: userid=deleted; expires=Sat, 25 Dec 2004 10:57:11 GMT; path=/ Set-Cookie: userid=deleted; expires=Sat, 25 Dec 2004 10:57:11 GMT; path=/; domain=.site.net Set-Cookie: userid=deleted; expires=Sat, 25 Dec 2004 10:57:11 GMT; path=/ Location: /folder/login.php Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=windows-1251 Vary: accept-charset, user-agent 1bdc

И помоему, в userid записывается не SID, а хэш пароля. Так как при повторном логине, он не меняется.

   
 
 автор: cheops   (25.12.2005 в 13:42)   письмо автору
 
   для: Drago   (25.12.2005 в 00:18)
 

Вы не отправляете PHPSESSID и используете постоянный SID в userid - 655c303fb229e27bb6bb38e2c2ac53e0. Так не пойдёт, необходимо предварительно выяснять SID, который вам назначает сервер, как это описывается в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=9050

   
 
 автор: Drago   (25.12.2005 в 00:18)   письмо автору
 
   для: Drago   (23.12.2005 в 15:54)
 

Я ему уже и реферер отправлял, а он все-равно не работает.

<?php
$hostname 
"www.site.net"
$path "/folder/?messages&add"
$line ""
$fp fsockopen($hostname80$errno$errstr30); 
if (!
$fp
   echo 
"$errstr ($errno)<br />\n"
else 

  
$data "touser=name&title=title&text=text&sendbutton=1 \r\n\r\n"
  
$headers "POST $path http/1.1\r\n"
  
$headers .= "Host: $hostname\r\n"
  
$headers .= "Content-type: application/x-www-form-urlencoded\r\n"
  
$headers .= "Cookie: userid=login+655c303fb229e27bb6bb38e2c2ac53e0_id_;\r\n"
  
$headers .= "Referer: http://www.site.net/folder/?messages&add\r\n";
  
$headers .= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n";
  
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n"
  
fwrite($fp$headers.$data); 
  while (!
feof($fp)) 
  { 
    
$line .= fgets($fp1024); 
  } 
  
fclose($fp); 

echo 
$line;
?>

   
 
 автор: Drago   (23.12.2005 в 15:54)   письмо автору
 
   для: cheops   (23.12.2005 в 14:26)
 

Отправил скрипту куки, что была установлена у меня. Получил вот это.

HTTP/1.1 200 OK Date: Fri, 23 Dec 2005 12:48:06 GMT Server: Apache/1.3.29 (Unix) PHP/5.0.4 mod_deflate/1.0.19 rus/PL30.19 X-Powered-By: PHP/5.0.4 Set-Cookie: PHPSESSID=c81314d43e14b6f2500b9844813107a2; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: userid=login+655c303fb229e27bb6bb38e2c2ac53e0_id_; expires=Sat, 24 Dec 2005 12:48:06 GMT; path=/; domain=.site.net Set-Cookie: userid=login+655c303fb229e27bb6bb38e2c2ac53e0_id_; expires=Sat, 24 Dec 2005 12:48:06 GMT; path=/ Set-Cookie: userid=login+655c303fb229e27bb6bb38e2c2ac53e0_id_; expires=Sat, 24 Dec 2005 12:48:06 GMT; path=/; domain=.site.net Set-Cookie: userid=login+655c303fb229e27bb6bb38e2c2ac53e0_id_; expires=Sat, 24 Dec 2005 12:48:06 GMT; path=/ Transfer-Encoding: chunked Content-Type: text/html; charset=windows-1251 Vary: accept-charset, user-agent 1c0d

Скрипт меня узнал, как будто я нормально зашел, но сообщение, все-равно не отправляет.
Я уже начинаю сомневаться, возможно ли это вообще? Или там сильно хитрая защита?

   
 
 автор: cheops   (23.12.2005 в 14:26)   письмо автору
 
   для: Drago   (23.12.2005 в 01:21)
 

В принципе сказать наверняка нельзя... вообще они похоже на команды по уничтожению cookie...

   
 
 автор: Drago   (23.12.2005 в 01:21)   письмо автору
 
   для: cheops   (22.12.2005 в 03:04)
 

А эти метку, могут сильно помешать?

   
 
 автор: Drago   (22.12.2005 в 03:32)   письмо автору
 
   для: cheops   (22.12.2005 в 03:04)
 

Не помню, какое было тогда.
Но отправил только что, выдало вот это.

HTTP/1.1 302 Found Date: Thu, 22 Dec 2005 00:29:51 GMT Server: Apache/1.3.29 (Unix) PHP/5.0.4 mod_deflate/1.0.19 rus/PL30.19 X-Powered-By: PHP/5.0.4 Set-Cookie: PHPSESSID=5a774e86e4ee6cabe1560ad0526d1f04; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Set-Cookie: userid=deleted; expires=Wed, 22 Dec 2004 00:29:50 GMT; path=/; domain=.site.net Set-Cookie: userid=deleted; expires=Wed, 22 Dec 2004 00:29:50 GMT; path=/ Set-Cookie: userid=deleted; expires=Wed, 22 Dec 2004 00:29:50 GMT; path=/; domain=.site.net Set-Cookie: userid=deleted; expires=Wed, 22 Dec 2004 00:29:50 GMT; path=/ Location: /folder/login.php Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=windows-1251 Vary: accept-charset, user-agent 1bdc

   

Сообщения:  [1-10]   [11-14] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования