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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: POST
 
 автор: Unkind™   (21.01.2006 в 21:04)   письмо автору
 
 

Нельзя ли с помощью PHP послать данные методом POST? Ну, например, для заполнения форм автоматически...=)

   
 
 автор: cheops   (21.01.2006 в 21:56)   письмо автору
 
   для: Unkind™   (21.01.2006 в 21:04)
 

Можно, при помощи сокетов, детальное руководство можно найти в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1879. Предваряя следующий вопрос :))) о подделке реферера при использовании сокетов можно почитать в теме http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=8931, а cookie и сессий в http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=9050

   
 
 автор: Unkind™   (21.01.2006 в 22:15)   письмо автору
 
   для: cheops   (21.01.2006 в 21:56)
 

Пасиб...=))

   
 
 автор: Unkind™   (22.01.2006 в 12:31)   письмо автору
 
   для: Unkind™   (21.01.2006 в 22:15)
 

Еще вопрос появился: а нельзя ли (точнее лучше сказать, наверное, "как") средствами PHP сделать так, чтобы скрипт выполнялся каждые, скажем, пять минут?

P.S. Да и еще: почему-то появляется error "400" при выполнении такого кода:

<?php 
  $hostname 
"host.ru"
  
$path "/guestbook/send.php"// Аккуратнее с именами и путями 
  
$line ""
  
// Устанавливаем соединение, имя которого 
  // передано в параметре $hostname 
  
$fp fsockopen($hostname80$errno$errstr30); 
  
// Проверяем успешность установки соединения 
  
if (!$fp) echo "$errstr ($errno)<br />\n"
  else 
  { 
    
// Данные HTTP-запроса 
    
$data 
      
"id=".urlencode("1")."&msg=".urlencode("msg")."&login=".urlencode("Login")."&translit=".urlencode("false")."\r\n\r\n"
    
// Заголовок HTTP-запроса 
    
$headers "POST $path HTTP/1.1\r\n"
    
$headers .= "Host: $hostname\r\n"
    
$headers .= "Accept: *\r\n"
    
$headers .= "Accept-Charset: *\r\n"
    
$headers .= "Accept-Language: ru\r\n"
    
$headers .= "Referer: http://www.host.ru/say.php\r\n"
    
$headers .= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n"
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n"
    
// Отправляем HTTP-запрос серверу 
    
fwrite($fp$headers.$data); 
    
// Получаем ответ 
    
while (!feof($fp)) 
    { 
      
$line .= fgets($fp1024); 
    } 
    
fclose($fp); 
  } 
echo 
"$line";

Почему сервер не понимает User-Agent?

   
 
 автор: cheops   (22.01.2006 в 15:26)   письмо автору
 
   для: Unkind™   (22.01.2006 в 12:31)
 

Обратите внимание на строку
<?php
    $headers 
.= "User-Agent: Opera/8.01 (Windows NT 5.1; U; ru)\r\n\r\n";
?>

Два \r\n подряд, согласно протоколу HTTP означает, что вы завершили ввод заголовков, поэтому заголовки
<?php
    $headers 
.= "Content-type: application/x-www-form-urlencoded\r\n"
    
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
?>

мало того, что не рассматриваются как HTTP-заголовки, так и ещё и к данным прикрепляются...

PS для запуска скрипта каждые 5 минут лучше всего использовать cron http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4321
PPS Надеюсь вы не авто-флудом занимаетесь? Иначе придётся удалить тему...

   
 
 автор: Unkind™   (22.01.2006 в 15:50)   письмо автору
 
   для: cheops   (22.01.2006 в 15:26)
 

Спасибо...
>PPS Надеюсь вы не авто-флудом занимаетесь? Иначе придётся удалить тему...
Нет, что вы...Конечно нет...=)

   
 
 автор: Akira   (22.01.2006 в 15:59)   письмо автору
 
   для: cheops   (22.01.2006 в 15:26)
 

Тему нельзя удалять :) т.к. для защиты от флуда надо знать как его создать :)

   
 
 автор: Unkind™   (22.01.2006 в 16:17)   письмо автору
 
   для: Akira   (22.01.2006 в 15:59)
 

Правильно...Изучаем защиту от флуда...=D

   
 
 автор: Akira   (22.01.2006 в 16:44)   письмо автору
 
   для: Unkind™   (22.01.2006 в 16:17)
 

Ну начнем с того, что стоит вводить проверку реферера, сообщение может быть добавленно только с хоста где находиться скрипт.

   
 
 автор: Unkind™   (22.01.2006 в 20:44)   письмо автору
 
   для: Akira   (22.01.2006 в 16:44)
 

По-моему, закончили уже...=)

P.S.>сообщение может быть добавленно только с хоста где находиться скрипт.
Совсем не обязательно...=) Зависит от умений админа...=)

   
 
 автор: drago   (22.01.2006 в 20:56)   письмо автору
 
   для: Akira   (22.01.2006 в 16:44)
 

Так ведь, реферер легко подделать, с помощью тех же сокетов.

   
Rambler's Top100
вверх

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