|
|
|
| Нельзя ли с помощью PHP послать данные методом POST? Ну, например, для заполнения форм автоматически...=) | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(21.01.2006 в 21:56)
| | Пасиб...=)) | |
|
|
|
|
|
|
|
для: Unkind™
(21.01.2006 в 22:15)
| | Еще вопрос появился: а нельзя ли (точнее лучше сказать, наверное, "как") средствами PHP сделать так, чтобы скрипт выполнялся каждые, скажем, пять минут?
P.S. Да и еще: почему-то появляется error "400" при выполнении такого кода:
<?php
$hostname = "host.ru";
$path = "/guestbook/send.php"; // Аккуратнее с именами и путями
$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения
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($fp, 1024);
}
fclose($fp);
}
echo "$line";
|
Почему сервер не понимает User-Agent? | |
|
|
|
|
|
|
|
для: 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 Надеюсь вы не авто-флудом занимаетесь? Иначе придётся удалить тему... | |
|
|
|
|
|
|
|
для: cheops
(22.01.2006 в 15:26)
| | Спасибо...
>PPS Надеюсь вы не авто-флудом занимаетесь? Иначе придётся удалить тему...
Нет, что вы...Конечно нет...=) | |
|
|
|
|
|
|
|
для: cheops
(22.01.2006 в 15:26)
| | Тему нельзя удалять :) т.к. для защиты от флуда надо знать как его создать :) | |
|
|
|
|
|
|
|
для: Akira
(22.01.2006 в 15:59)
| | Правильно...Изучаем защиту от флуда...=D | |
|
|
|
|
|
|
|
для: Unkind™
(22.01.2006 в 16:17)
| | Ну начнем с того, что стоит вводить проверку реферера, сообщение может быть добавленно только с хоста где находиться скрипт. | |
|
|
|
|
|
|
|
для: Akira
(22.01.2006 в 16:44)
| | По-моему, закончили уже...=)
P.S.>сообщение может быть добавленно только с хоста где находиться скрипт.
Совсем не обязательно...=) Зависит от умений админа...=) | |
|
|
|
|
|
|
|
для: Akira
(22.01.2006 в 16:44)
| | Так ведь, реферер легко подделать, с помощью тех же сокетов. | |
|
|
|