ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #13291  
Старый 11.11.2009, 21:40
Аватар для Vlad&slav
Vlad&slav
Участник форума
Регистрация: 01.01.2009
Сообщений: 138
Провел на форуме:
817404

Репутация: 82
Отправить сообщение для Vlad&slav с помощью ICQ
По умолчанию

Как посредством php прочекать у пределёного адреса порт, тоесть просто проверить можно ли подключиться, порт не 80 а типа 23,RDP, и чёнть вроде того. Если ешё можно то чтобы был таймаут. Зарание благодарю.
 
Ответить с цитированием

  #13292  
Старый 11.11.2009, 21:44
Аватар для gisTy
gisTy
Постоянный
Регистрация: 24.05.2008
Сообщений: 589
Провел на форуме:
3629857

Репутация: 504


По умолчанию

Цитата:
Сообщение от Vlad&slav  
Как посредством php прочекать у пределёного адреса порт, тоесть просто проверить можно ли подключиться, порт не 80 а типа 23,RDP, и чёнть вроде того. Если ешё можно то чтобы был таймаут. Зарание благодарю.
http://www.php.su/articles/?cat=examples&page=065
 
Ответить с цитированием

  #13293  
Старый 11.11.2009, 22:39
Аватар для phpdreamer
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме:
444589

Репутация: 123
Отправить сообщение для phpdreamer с помощью ICQ
По умолчанию

Vlad&slav, вот сканер портов на пхп

PHP код:
<?php
error_reporting 
(E_ALL); // вывод сообщений для всех ошибок

if(empty($_POST["ip"]))die ('<html> 
<head>
<title>Online Port Scanner</title>
</head>
<body bgcolor="Black">
<div align="center"><font face="Tahoma" color="Gray">Online Port Scanner</font></div><br><br>
<form action="p.php" method="POST">
<font face="Tahoma" color="Silver"><div align="center">IP-address/Host&nbsp;<input maxlength="15" size="13" type="Text" name="ip" value="">
<br><input type="Submit" value="Scan">
</div>
</font>
</form>
</body>
</html>'
); //форма ввода


$portz = array("20","21","23","25","39","43","69","79","80","88","107","109","110",
"111","137","138","139","143","161","464","512","513","514","530",
"544","636","749","1433","1434");

// в данном массиве будут храниться номера портов, которые необходимо сканировать.
// это сделано для эффективного использования ресурсов сервера, зачастую провайдер
// выставляет небольшой таймаут для php скриптов и получится что сканируя все
// 65тысяч портов мы поступаем очень нерационально так как реально полезные из них
// всего пару процентов ;)

$descr = array("FTP data""FTP control""Telnet","Simple Mail Transfer Protocol",
"rlp: Resource Location Protocol""whois""tftp","finger","http",
"kerberos","rtelnet","pop2","pop3","sunrpc:SUN Remote Procedure Call",
"Netbios name service","Netbios name service""Netbios datagram service",
"imap4","snmp","kpasswd: kerberos v5","Remote Process Execution",
"remote login","cmd shell","courier rpc","kshell: Kerberos remote shell",
"ldaps","LDAP over TLS/SSL","kerberos-adm","ms-sql-s: Microsoft-SQL-Server",
"ms-sql-m: Microsoft-SQL-Monitor");

// а в этом массиве задаем описания для сервисов, обслуживающих на соответствующих портах
// главное чтобы смещение в массиве порта соответствовало смещению в массиве его описания
// то есть если смещение (индекс) порта с номером 23 == 2 (считаем с 0), значит описание
// для этого порта должно быть расположено так же с индексом 2 в массиве описаний.



$log_path "pscan.log";
$who $HTTP_SERVER_VARS['REMOTE_ADDR'];
// объявляем переменные для лога. как это продвинутый сканер и без лога? ;)
// в лог будем писать все, даже адрес того кто сканит. мы же любопытные ;)

$err_path "pscan.err";

// определяем колличество заданых портов-описаний, далее нам это пригодиться в циклах

$cnt=0//счетчик

$timeout 10// таймаут для инициализации сокета, максимум - 15

if($timeout>15// а тут можете изменить максимум 8)
$timeout=15;
$chost strip_tags($_POST['ip']); //загоняем сюда значение параметра hostname,
if($chost==""){ // если запустили наш скрипт без параметра $hostname - громко ругаемся
echo "необходимо задать ip-адрес или имя хоста!";
exit;
}

$ch $chost[0];
$new_chost="";

@
$LOGF fopen($log_path"a");
if(
$LOGF){ // если файл открыт успешно
flock($LOGF2);
fwrite($LOGF"================================================================n");
if( 
$ITS_FUCKING_LAMOZ == )
fwrite($LOGF"[!!!] ".date('H:i:s Y-m-d')." :>>> ".$HTTP_SERVER_VARS['REMOTE_ADDR']." scaned $chostn");
else
fwrite($LOGFdate('H:i:s Y-m-d')." :>>> ".$HTTP_SERVER_VARS['REMOTE_ADDR']." scaned $chostn");
fwrite($LOGF"================================================================n");
}
// ну а это шапка лога, тоесть дата, айпишник, сканируемый хост...

else{ // если возникла ошибка при логировании - пишем в файл ошибок

@$ERRF fopen($err_path"a");

if(
$ERRF){
flock($ERRF2);
fwrite($ERF"[date('H:i:s Y-m-d')] невозможно залогировать $whon");
flock($ERRF3);
rewind($ERRF);
fclose($ERRF);
}
}
// 

$port 0;
$pcnt count($portz);
$dcnt count($descr);
$ccnt 0;
$errno 0;
$errstr "no errorZ";

if( (
$pcnt==0) || ($dcnt==0) ){
echo 
"список портов не пустой. всем на выход.<br>n"
exit;
}

if(
$pcnt!=$dcnt){
if(
$pcnt>$dcnt)
$ccnt=$dcnt;
else
$ccnt=$pcnt
}
else
$ccnt=$pcnt;
// если количество портов и количество описаний разные - обрезаем до равного


echo "сканируем ".$chost.".....<br><table>";

echo 
str_repeat(" "256); 
for(
$i=0$i<$ccnt$i++){
if(!
$timeout)
@
$usenet_handle fsockopen($chost, (int)$portz[$i]);
else
@
$usenet_handle fsockopen($chost, (int)$portz[$i], &$errno, &$errstr$timeout);

if(!
$usenet_handle)

printf('

<div align="center">refused</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
</tr>' 
$chost$portz[$i], $descr[$i], $errstr
);
else{
fwrite($LOGF$chost."t".$portz[$i]."t".$descr[$i]."t".$errstr."n");
printf('

<div align="center">соединен</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
<div align="center">%s</div></td>
</tr>' 
$chost$portz[$i], $descr[$i], "no err0rZ"
);
// end else

flush();

// end for

fwrite($LOGF"nn");
flock($LOGF3);
rewind($LOGF);
fclose($LOGF);

unset(
$chost);
unset(
$new_chost);
unset(
$timeout);
unset(
$port);
unset(
$pcnt);
unset(
$dcnt);
unset(
$ccnt);
unset(
$errno);
unset(
$errstr);
?>
но на перле лучше:
Код:
#!/usr/bin/perl -w
 
 # PortMap by nerezus
 # The Artistic License
 # ICQ 547097
 #
 # A tool for scan ip range
 
 use strict;
 use Socket;
 
 if (@ARGV<2) {print "Usage: portmap.pl from_host(ip) to_host(ip) [portfile.txt(ports via [space])]\n";exit(0);}
 my $fremote=shift||'127.0.0.1';
 my $tremote=shift||'127.0.0.1';
 my $portfile=shift;
 my $ports;
 if ($portfile) {open (PF, $portfile); $ports=<PF>; close(PF);}
    else {$ports="21 80";}
 my @ports=split(/ /, $ports);
 my @flist=split(/\./, $fremote);
 my @tlist=split(/\./, $tremote);
 my $fip=$flist[0]*256*256*256+$flist[1]*256*256+$flist[2]*256+$flist[3];
 my $tip=$tlist[0]*256*256*256+$tlist[1]*256*256+$tlist[2]*256+$tlist[3];
 
 for (my $i=$fip; $i<=$tip; $i++) {
 	my $tmp=$i;
 	my $d1=int($tmp / (256*256*256)); $tmp=$tmp-$d1*(256*256*256);
 	my $d2=int($tmp / (256*256)); $tmp=$tmp-$d2*(256*256);
 	my $d3=int($tmp / 256); $tmp=$tmp-$d3*256;
 	my $d4=$tmp;
 	my $ip="$d1.$d2.$d3.$d4";
 	my $host=gethostbyname($ip);
 	foreach my $port (@ports){
 			my $dest=sockaddr_in($port, $host);
 			socket (S, PF_INET, SOCK_STREAM, getprotobyname('tcp'));
 			if (connect(S, $dest)) {print "[".scalar(localtime)."] $ip:$port OK\n";}
 #			   else {print "[".scalar(localtime)."] $ip:$port ERR\n";}
 			close S;
 			}
 }
 
Ответить с цитированием

  #13294  
Старый 12.11.2009, 01:19
Аватар для Lucky0929
Lucky0929
Banned
Регистрация: 03.10.2009
Сообщений: 12
Провел на форуме:
205083

Репутация: 37
По умолчанию

дам 30$ максимум 40$ за скрипт для контакта
добавления в акки которые в текстовом доке, приложения ( желательно с антикапчей)
 
Ответить с цитированием

  #13295  
Старый 12.11.2009, 19:44
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

Такой вопрос возник, сижу уже больше часа, пытаюсь впоймать на вкантакте капчу при авторизации, но что-то немогу увидеть сообщение о вводе капчи, хотя оно есть.
Вот функция для авторизации:

PHP код:
function vk_login($login,$pass,$proxy='')
{
$login urlencode($login);
$pass urlencode($pass);


$ch curl_init('http://login.vk.com/?act=login');
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($chCURLOPT_TIMEOUT10);
curl_setopt($chCURLOPT_REFERER'http://vkontakte.ru/');

if(!empty(
$proxy))
curl_setopt($chCURLOPT_PROXY$proxy);

curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_POSTFIELDS"email=$login&pass=$pass&expire=&vk=");
$res curl_exec($ch);

if(
preg_match('#name=\'s\' id=\'s\' value=\'(.*)\'#',$res,$s))
    {
        echo 
urldecode($login)." Успешно авторизован.\r\n";
        return 
$s[1];
    }
else 
return 
false;

 
Ответить с цитированием

  #13296  
Старый 12.11.2009, 19:45
Аватар для Alpha][
Alpha][
Познающий
Регистрация: 19.10.2007
Сообщений: 72
Провел на форуме:
255436

Репутация: 14
По умолчанию

при работе с функцией getimagesize из GD , если файл к которому функция пытается получить доступ не существует , генерируется предупреждение . Как сделать так что бы это предупреждение не показывалось пользователю ?
 
Ответить с цитированием

  #13297  
Старый 12.11.2009, 19:49
Аватар для b3
b3
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме:
1698585

Репутация: 818


Отправить сообщение для b3 с помощью ICQ
По умолчанию

error_reporting(0);
или or die('mess');
 
Ответить с цитированием

  #13298  
Старый 12.11.2009, 19:50
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Цитата:
Сообщение от Alpha][  
при работе с функцией getimagesize из GD , если файл к которому функция пытается получить доступ не существует , генерируется предупреждение . Как сделать так что бы это предупреждение не показывалось пользователю ?
ini_set("display_errors","0");
 
Ответить с цитированием

  #13299  
Старый 12.11.2009, 20:05
Аватар для Alpha][
Alpha][
Познающий
Регистрация: 19.10.2007
Сообщений: 72
Провел на форуме:
255436

Репутация: 14
По умолчанию

это , я так понимаю, глобально ошибки отключит , а можно как-нибудь конкретно эту ошибку отключить ?
 
Ответить с цитированием

  #13300  
Старый 12.11.2009, 20:38
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

PHP код:
<?php 
if (getimagesize('123.jpg')) echo "Ok";
else echo 
"Xatcker detected";
?>
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ