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

18.07.2009, 11:30
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
FTP Accounts Parser
FTP Account Parser
Дарова всем.Вот скачал тут из раздела халява сборник фтп сервов и мне пришла идея написать маленкий парсер.Маленький да удаленький.Значит осн.возможности:
1)ищет красивенкие домены типа blabla.com а не всякие типа blabla.narod.ru
2)можно поставить фильтр длины домена
3)можно также поискать какое то слово в доменах
4)можно также искать во всех субдоменах,не только в "красивенких"
5)можно сохранить все в файл на сервере
6)выделяет домен одним цветом,акк другим + искомую фразу тосже выделяет
7)делает удобные линки на фтп
8)более подробный мануальчик в скрипте
[+] дабавил по вашим просьбам валидатор,теперь,при установке флага valid на 1 (&valid=1),он будет проверять каждый server. Oфф сервера несохраняются,а в онлайн логе это выводится красным квадратом слева.очень удобно.
[+] теперь также при режиме валидатора будет показано все содержимое сервака.(javascript:alert)
[+] добавил наконец нормальный интерфейс.
[+] показывает справа все логи,отпарсенные ранее.
[+]в конце парсинга выдает также доменные зоны первого уровня,которые встречались.
Screeshot:
http://qwyz.freehostia.com/screen.png
_____________________________________
http://qwyz.freehostia.com/FTP_Parser.zip
_____________________________________
Последний раз редактировалось [QwyZ]; 30.07.2009 в 07:29..
|
|
|

18.07.2009, 14:00
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
ТС, зачем темы дублировать? http://forum.antichat.ru/thread130318.html
Я пост свой тоже сюда скопирую, даже добавлю кое-что...
1. Есть такие функции - isset, error_reporting, ты про них не знаешь?
2. Никогда не пробовал делать код читабелным, не? Читабельный:
PHP код:
<html><body bgcolor=black>
<style>
a
{
text-decoration:none;
}
</style><font color=dcdcdc size=-1 face=verdana>FTP Parser 1.0 By [QwyZ] (for antichat.ru and seclab.ru)<br>
<br>
Variables: www.your.host.com/parser.php?<font color=orange>z</font>=com&<font color=orange>m</font>=14&<font color=orange>base</font>=ftps.txt&<font color=orange>all</font>=0&<font color=orange>save</font>=yes&<font color=orange>word</font>=freehostia.com<br><br>
$z = domain zone (ex. &z=com),for all zones use * (&z=*)<br>
$m = maxlength of domain name (ex. &m=14),for all domains use * (&m=*)<br>
$base = ftp database (ex. &base=file.txt),bases must to be in "/bases" folder<br>
$all = searching at subdomains too (ex. &all=1,&all=0)<br>
$save = saving/not saving results to "/queries" folder (ex. &save=yes,&save=no)<br>
$word = search word (ex. &word=freehostia.com)<br><font color=blue>___________________________________________________________________</font><br><br>
<?php
//vars
$zone = $_GET['z'];
$maxl = $_GET['m'];
$i = $_GET['base'];
$all = $_GET['all'];
$save = $_GET['save'];
$sw = $_GET['word'];
//vars
if ($save == "yes")
{
$saveTo = fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." .
$sw . ".txt", "w+");
fclose($saveTo);
}
function check_ftps($i, $zone, $maxl, $all, $save, $sw)
{
$current_base = file("./bases/" . $i);
$k = 0;
for ($k = 0; $k < count($current_base); $k++)
{
$current_ftp = $current_base[$k];
if (substr_count($current_ftp, "@") == 1)
{
$current_ftp = explode("@", $current_ftp);
$current_ftp = $current_ftp[1];
if ((substr_count($current_ftp, ".") == 1) || ($all == "1"))
{
if ((strlen($current_ftp) <= $maxl) || ($maxl == "*"))
{
if ((strstr($current_ftp, $sw)) || ($sw == "*"))
{
$suba = explode(".", $current_ftp);
$suba = $suba[count($suba) - 1];
$suba = substr($suba, 0, (strlen($suba) - 2));
if (($suba == $zone) || ($zone == "*"))
{
if (substr($current_base[$k], 0, 6) == "ftp://")
{
} else
{
$current_base[$k] = "ftp://" . $current_base[$k];
}
$account = explode("@", $current_base[$k]);
$lp = $account[0] . "@";
$button = substr($account[1], 0, strlen($account[1]) - 2);
$dom = "<font color=orange>" . $account[1] . "</font><br>";
$dom = str_replace($sw, "<b><font color=yellow>" . $sw . "</font></b>", $dom);
echo ("<input type=button value=\"Open\" onclick='location.href=\"" . $lp . $button .
"\"'> " . $lp . $dom);
if ($save == "yes")
{
$add = fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." .
$sw . ".txt", "a+");
fputs($add, $current_base[$k]);
fclose($add);
}
}
}
}
}
}
}
}
//call function
check_ftps($i, $zone, $maxl, $all, $save, $sw);
//call function
?></font>
</body>
</html>
Нечитабельный (твой):
PHP код:
<html><body bgcolor=black>
<style>
a
{
text-decoration:none;
}
</style><font color=dcdcdc size=-1 face=verdana>FTP Parser 1.0 By [QwyZ] (for antichat.ru and seclab.ru)<br>
<br>
Variables: www.your.host.com/parser.php?<font color=orange>z</font>=com&<font color=orange>m</font>=14&<font color=orange>base</font>=ftps.txt&<font color=orange>all</font>=0&<font color=orange>save</font>=yes&<font color=orange>word</font>=freehostia.com<br><br>
$z = domain zone (ex. &z=com),for all zones use * (&z=*)<br>
$m = maxlength of domain name (ex. &m=14),for all domains use * (&m=*)<br>
$base = ftp database (ex. &base=file.txt),bases must to be in "/bases" folder<br>
$all = searching at subdomains too (ex. &all=1,&all=0)<br>
$save = saving/not saving results to "/queries" folder (ex. &save=yes,&save=no)<br>
$word = search word (ex. &word=freehostia.com)<br><font color=blue>___________________________________________________________________</font><br><br>
<?php
//vars
$zone=$_GET['z'];
$maxl=$_GET['m'];
$i=$_GET['base'];
$all=$_GET['all'];
$save=$_GET['save'];
$sw=$_GET['word'];
//vars
if ($save=="yes"){
$saveTo=fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." . $sw . ".txt","w+");
fclose($saveTo);}
function check_ftps($i,$zone,$maxl,$all,$save,$sw)
{
$current_base=file("./bases/" . $i);
$k=0;
for($k=0;$k<count($current_base);$k++)
{
$current_ftp=$current_base[$k];
if (substr_count($current_ftp,"@")==1)
{
$current_ftp=explode("@",$current_ftp);
$current_ftp=$current_ftp[1];
if ((substr_count($current_ftp,".")==1) || ($all=="1"))
{
if ((strlen($current_ftp)<=$maxl) || ($maxl=="*"))
{
if ((strstr($current_ftp,$sw)) || ($sw=="*")){
$suba=explode(".",$current_ftp);
$suba=$suba[count($suba)-1];
$suba=substr($suba,0,(strlen($suba)-2));
if (($suba==$zone) || ($zone=="*"))
{
if (substr($current_base[$k],0,6)=="ftp://"){}else
{$current_base[$k]="ftp://" . $current_base[$k];}
$account=explode("@",$current_base[$k]);
$lp=$account[0] . "@";
$button=substr($account[1],0,strlen($account[1])-2);
$dom="<font color=orange>" . $account[1] . "</font><br>";
$dom=str_replace($sw,"<b><font color=yellow>" . $sw . "</font></b>",$dom);
echo("<input type=button value=\"Open\" onclick='location.href=\"" . $lp . $button . "\"'> " . $lp . $dom);
if ($save=="yes"){
$add=fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." . $sw . ".txt","a+");
fputs($add,$current_base[$k]);
fclose($add);}
}}}}}}
}
//call function
check_ftps($i,$zone,$maxl,$all,$save,$sw);
//call function
?></font>
</body>
</html>
3. Функции работы со строками - прошлый век. Сейчас есть регулярки.
4. Про формы не читал никогда?
5. В коде есть строчки вида
PHP код:
if(условие)
{
#xD кода нету... обычные фигурные скобки
} else
{
#code
}
6. Используй switch-case вместо if.
Последний раз редактировалось mailbrush; 18.07.2009 в 14:12..
|
|
|

18.07.2009, 15:06
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
блин я вообщето консультации непросил.как надо будет спрошу,а если ненравится дак я вроде тебя неаставлял его юзать.извини конечно,но твои комментарии излишни.
|
|
|

18.07.2009, 15:10
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Разве это консультация?
Это обычный анализ быдлокода 
|
|
|

18.07.2009, 16:01
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
>>3. Функции работы со строками - прошлый век. Сейчас есть регулярки.
неправда, регеспы медленнее функций работы со строками, и если есть возможность решить проблему с помощью доступных функций, регулярки не используют..
|
|
|

18.07.2009, 16:56
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Медленнее, но удобнее.
|
|
|

18.07.2009, 22:39
|
|
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме: 3326855
Репутация:
702
|
|
Нифига не удобнее. Чем сидеть и задрачивать регулярки, лучше использовать готовое решение, которое 100% будет работать.
|
|
|

18.07.2009, 23:00
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
А с чего ты взял, что регулярки не будут работать? Мне, например, регулярки намного удобнее...
|
|
|

18.07.2009, 23:06
|
|
Познающий
Регистрация: 29.06.2008
Сообщений: 32
Провел на форуме: 22365
Репутация:
24
|
|
По поводу регулярок приведу цитату:«Если у вас есть проблема, и вы решили с ней разобраться с помощью регулярок, то теперь у вас две проблемы».
Насчет выложенного кода :
1.Бросилось в глаза огромная вложенность if..else конструкций.
2.Все сделано в 1 функции поэтому последуещее дополнение и улучшение скрипта станет проблематичным.
Хотя в принципе [QwyZ] молодец, неплохая идея.
|
|
|

18.07.2009, 23:50
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от mailbrush
ТС, зачем темы дублировать? http://forum.antichat.ru/thread130318.html
Я пост свой тоже сюда скопирую, даже добавлю кое-что...
1. Есть такие функции - isset, error_reporting, ты про них не знаешь?
2. Никогда не пробовал делать код читабелным, не? Читабельный:
PHP код:
<html><body bgcolor=black>
<style>
a
{
text-decoration:none;
}
</style><font color=dcdcdc size=-1 face=verdana>FTP Parser 1.0 By [QwyZ] (for antichat.ru and seclab.ru)<br>
<br>
Variables: www.your.host.com/parser.php?<font color=orange>z</font>=com&<font color=orange>m</font>=14&<font color=orange>base</font>=ftps.txt&<font color=orange>all</font>=0&<font color=orange>save</font>=yes&<font color=orange>word</font>=freehostia.com<br><br>
$z = domain zone (ex. &z=com),for all zones use * (&z=*)<br>
$m = maxlength of domain name (ex. &m=14),for all domains use * (&m=*)<br>
$base = ftp database (ex. &base=file.txt),bases must to be in "/bases" folder<br>
$all = searching at subdomains too (ex. &all=1,&all=0)<br>
$save = saving/not saving results to "/queries" folder (ex. &save=yes,&save=no)<br>
$word = search word (ex. &word=freehostia.com)<br><font color=blue>___________________________________________________________________</font><br><br>
<?php
//vars
$zone = $_GET['z'];
$maxl = $_GET['m'];
$i = $_GET['base'];
$all = $_GET['all'];
$save = $_GET['save'];
$sw = $_GET['word'];
//vars
if ($save == "yes")
{
$saveTo = fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." .
$sw . ".txt", "w+");
fclose($saveTo);
}
function check_ftps($i, $zone, $maxl, $all, $save, $sw)
{
$current_base = file("./bases/" . $i);
$k = 0;
for ($k = 0; $k < count($current_base); $k++)
{
$current_ftp = $current_base[$k];
if (substr_count($current_ftp, "@") == 1)
{
$current_ftp = explode("@", $current_ftp);
$current_ftp = $current_ftp[1];
if ((substr_count($current_ftp, ".") == 1) || ($all == "1"))
{
if ((strlen($current_ftp) <= $maxl) || ($maxl == "*"))
{
if ((strstr($current_ftp, $sw)) || ($sw == "*"))
{
$suba = explode(".", $current_ftp);
$suba = $suba[count($suba) - 1];
$suba = substr($suba, 0, (strlen($suba) - 2));
if (($suba == $zone) || ($zone == "*"))
{
if (substr($current_base[$k], 0, 6) == "ftp://")
{
} else
{
$current_base[$k] = "ftp://" . $current_base[$k];
}
$account = explode("@", $current_base[$k]);
$lp = $account[0] . "@";
$button = substr($account[1], 0, strlen($account[1]) - 2);
$dom = "<font color=orange>" . $account[1] . "</font><br>";
$dom = str_replace($sw, "<b><font color=yellow>" . $sw . "</font></b>", $dom);
echo ("<input type=button value=\"Open\" onclick='location.href=\"" . $lp . $button .
"\"'> " . $lp . $dom);
if ($save == "yes")
{
$add = fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." .
$sw . ".txt", "a+");
fputs($add, $current_base[$k]);
fclose($add);
}
}
}
}
}
}
}
}
//call function
check_ftps($i, $zone, $maxl, $all, $save, $sw);
//call function
?></font>
</body>
</html>
Нечитабельный (твой):
PHP код:
<html><body bgcolor=black>
<style>
a
{
text-decoration:none;
}
</style><font color=dcdcdc size=-1 face=verdana>FTP Parser 1.0 By [QwyZ] (for antichat.ru and seclab.ru)<br>
<br>
Variables: www.your.host.com/parser.php?<font color=orange>z</font>=com&<font color=orange>m</font>=14&<font color=orange>base</font>=ftps.txt&<font color=orange>all</font>=0&<font color=orange>save</font>=yes&<font color=orange>word</font>=freehostia.com<br><br>
$z = domain zone (ex. &z=com),for all zones use * (&z=*)<br>
$m = maxlength of domain name (ex. &m=14),for all domains use * (&m=*)<br>
$base = ftp database (ex. &base=file.txt),bases must to be in "/bases" folder<br>
$all = searching at subdomains too (ex. &all=1,&all=0)<br>
$save = saving/not saving results to "/queries" folder (ex. &save=yes,&save=no)<br>
$word = search word (ex. &word=freehostia.com)<br><font color=blue>___________________________________________________________________</font><br><br>
<?php
//vars
$zone=$_GET['z'];
$maxl=$_GET['m'];
$i=$_GET['base'];
$all=$_GET['all'];
$save=$_GET['save'];
$sw=$_GET['word'];
//vars
if ($save=="yes"){
$saveTo=fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." . $sw . ".txt","w+");
fclose($saveTo);}
function check_ftps($i,$zone,$maxl,$all,$save,$sw)
{
$current_base=file("./bases/" . $i);
$k=0;
for($k=0;$k<count($current_base);$k++)
{
$current_ftp=$current_base[$k];
if (substr_count($current_ftp,"@")==1)
{
$current_ftp=explode("@",$current_ftp);
$current_ftp=$current_ftp[1];
if ((substr_count($current_ftp,".")==1) || ($all=="1"))
{
if ((strlen($current_ftp)<=$maxl) || ($maxl=="*"))
{
if ((strstr($current_ftp,$sw)) || ($sw=="*")){
$suba=explode(".",$current_ftp);
$suba=$suba[count($suba)-1];
$suba=substr($suba,0,(strlen($suba)-2));
if (($suba==$zone) || ($zone=="*"))
{
if (substr($current_base[$k],0,6)=="ftp://"){}else
{$current_base[$k]="ftp://" . $current_base[$k];}
$account=explode("@",$current_base[$k]);
$lp=$account[0] . "@";
$button=substr($account[1],0,strlen($account[1])-2);
$dom="<font color=orange>" . $account[1] . "</font><br>";
$dom=str_replace($sw,"<b><font color=yellow>" . $sw . "</font></b>",$dom);
echo("<input type=button value=\"Open\" onclick='location.href=\"" . $lp . $button . "\"'> " . $lp . $dom);
if ($save=="yes"){
$add=fopen("./queries/" . $zone . "." . $maxl . "." . $i . "." . $all . "." . $sw . ".txt","a+");
fputs($add,$current_base[$k]);
fclose($add);}
}}}}}}
}
//call function
check_ftps($i,$zone,$maxl,$all,$save,$sw);
//call function
?></font>
</body>
</html>
3. Функции работы со строками - прошлый век. Сейчас есть регулярки.
4. Про формы не читал никогда?
5. В коде есть строчки вида
PHP код:
if(условие)
{
#xD кода нету... обычные фигурные скобки
} else
{
#code
}
6. Используй switch-case вместо if.
Как ты меня убиваеш.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|