Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

07.01.2010, 13:00
|
|
Banned
Регистрация: 03.12.2009
Сообщений: 173
Провел на форуме: 273923
Репутация:
47
|
|
Fsockopen
Открываю я сокет с помощю
fsockopen()
Подключаюсь к сайту. Как проверить какой ответ отдаёт вервер?
Ну если статус 200! то продолжить.
или же сокет сам закрывается когда ответ приходит отличный от 200?
тогда
$fp = fsockopen()
if (!$fp) {
die("файла на удалённом сервере нет");
}
|
|
|

07.01.2010, 13:14
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
PHP код:
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
$errno, $errstr, http://ua2.php.net/fsockopen почитай полностью про функцию.
|
|
|

07.01.2010, 14:15
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
In.Exploit по секрету - с помощью ТОЛЬКО fsockopen - можно проверить ТОЛЬКО работоспособность порта на сервере. Как проверить наличие файла - вам отписали в предыдущем топике. Вы еще отмахнулись, мол, вам не нужен кот после !$fp
Заканчивайте плодить темы, для нубских вопросов - есть выделенный топик про пхп
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

07.01.2010, 19:40
|
|
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме: 5571194
Репутация:
1934
|
|
fsockopen открывает только сокет. через сокет вдальнейшем можно передать инфу. чтобы узнать есть ли на удалённом сайте(соединение с которым ты открыл) файл, нужно отправить http - запрос к нему. тогда уже вернётся код(200/404/...) от сервера.
для этой цели имхо curl легче и лучше. там можно одни заголовки ловить.
__________________
Появляюсь редко. Важные дела в реале.
|
|
|

08.01.2010, 00:20
|
|
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме: 1331503
Репутация:
454
|
|
получите и распишитесь. запросы и что делать с ответом думаю сами замените
PHP код:
if($s=fsockopen($proxy,$prprt))
//if($s=fsockopen("ui.bigmir.net",80))
{
$strp="GET http://ui.bigmir.net/gen/rnd/".$capt.".png HTTP/1.0
Accept: */*
Cookie: ".$cookie."
".$ua."
Referer: http://passport.bigmir.net/icq/
Host: ui.bigmir.net
Connection: Close\r\n\r\n";
fputs($s,$strp);
$out="";
while(!feof($s))
{
$out.=fgets($s,1024);
}
$pos=strpos($out,"\r\n\r\n");
$caca=trim(substr($out,$pos+1));
$fp=fopen("./cap.png","w");
fwrite($fp,$caca);
fclose($fp);
//echo $caca;
if (strstr("$caca","GIF89"))
{
$fp = fopen("./cap0.png", 'rb' );
fpassthru($fp);
@fclose($fp);
die();
}
$fp = fopen("./cap.png", 'rb' );
fpassthru($fp);
@fclose($fp);
}
else
{
if ($dev!=0) echo "Can't open socket to server in getIMG!";
die();
}
это из древнего реггера асек через бигмир, который я однажда починил и юзал втихаря 
|
|
|

08.01.2010, 01:18
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Вот несколько примеров получения Заголовков:
Sockets
PHP код:
<?php
$fp = @fsockopen("forum.antichat.ru", 80, $errno, $errstr, 3);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /bn/evapharmacy.gif HTTP/1.1\r\n";
$out .= "Host: forum.antichat.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
@$data .= fread($fp, 1024*5);
}
fclose($fp);
list($headers, $body) = explode("\r\n\r\n", $data);
echo $headers;
}
?>
cURL
PHP код:
<?php
$ch = curl_init('http://2forum.antichat.ru/bn/evapharmacy.gif');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$res = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
curl_close($ch);
if($errno > 0)
echo $errno.':'.$error;
else echo $res;
?>
get_headers
PHP код:
<?php
$headers = get_headers('http://forum.antichat.ru/bn/evapharmacy.gif');
foreach ($headers as $k => $v) {
echo '['.$k.'] => '.$v.'<br>';
}
?>
|
|
|

08.01.2010, 01:23
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Простите, можно поинтересоваться, почему в этой строчке:
@$data .= fread($fp, 1024*5);
стоит собачка и 1024*5? Правда интересно
|
|
|

08.01.2010, 01:27
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
@$data .= fread($fp, 1024*5);
Как видиш дата дописывается а т.к. переменная небыла прежде создана пыха выдаст Нотайс.
Привычка записи такая, почему именно по 5кб, моё оптимальное решение
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Правильные заголовки для fsockopen
|
ageent |
PHP, PERL, MySQL, JavaScript |
5 |
03.10.2009 18:34 |
|
php fsockopen multithread + SQL-injection
|
Pashkela |
Уязвимости |
2 |
31.08.2009 14:11 |
|
ошибка fsockopen() has been disabled for security reasons in
|
je0n |
PHP, PERL, MySQL, JavaScript |
4 |
01.06.2006 17:09 |
|
Использование ф-ции fsockopen()
|
Майор |
С/С++, C#, Delphi, .NET, Asm |
7 |
11.04.2005 12:24 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|