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

06.12.2008, 01:21
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
кинь результаты в ПМ! жду...
|
|
|

06.12.2008, 01:34
|
|
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме: 881554
Репутация:
66
|
|
Сообщение от mff
спасибо .:EnoT:., но как бы еще и порты прицепить, их несколько может быть:
Код:
94.21.66.213 46 ms 213.66.xyline.net 80
94.21.67.2 46 ms 2.67.xyline.net 80,8080
94.21.67.17 60 ms 17.67.xyline.net 80
то есть требуется получить список вида:
Код:
94.21.66.213:80
94.21.67.2:80
94.21.67.2:80
94.21.67.17:8080
Извиняюсь, не заметил темы по регуляркам  Помогите, уже 2 дня бьюсь, голова кругом 
Сообщение от mff
код
Код:
<?php
$fp = fopen("list.txt", "r");
$list = fread($fp, filesize("list.txt"));
preg_match_all('#(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s.+([,?\d,]{2,})(?:\s|$)#U', $list, $out);
for($i=1;$i<count($out[0]);$i++) {
if(strpos($out[2][$i],',')!==false) {
$ports=explode(',',$out[2][$i]);
for($i2=0;$i2<count($ports);$i2++)
echo $out[1][$i].':'.$ports[$i2]."<br />";
}else{ echo $out[1][$i].':'.$out[2][$i]."<br />";
}
}
?>
list.txt
Код:
This file was generated by Angry IP Scanner
Visit http://www.angryziber.com/ for the latest version
Scanned 85.249.0.0 - 85.249.255.255 (Ports: 1026,1080,3128,6588,6654,80,8080)
05.12.2008 19:47:45
IP Ping Hostname Open Ports
85.249.1.100 44 ms N/A 80
85.249.28.132 54 ms N/A 1026,1080,3128,6588,6654,80,8080
85.249.28.131 66 ms N/A 1026,1080,3128,6588,6654,80,8080
87.117.129.92 40 ms 92.129.117.87.in-addr.arpa 80,8080
87.117.129.91 40 ms mx.vers.ru 80
87.117.129.99 38 ms 99.129.117.87.in-addr.arpa 80
87.117.129.162 39 ms mail.altyngold.com 80
87.117.130.227 98 ms 227.130.117.87.in-addr.arpa 80
87.117.130.226 105 ms voice-profsouznaya-33-yakitoriya.stelcom.ru80
87.117.130.231 102 ms voice-navoslobodskaya-20-yakitoriya.stelcom.ru80
результат
Код:
85.249.1.100:44
85.249.28.132:54
85.249.28.131:66
87.117.129.92:40
87.117.129.91:40
87.117.129.99:38
87.117.129.162:39
87.117.130.227:98
87.117.130.226:105
87.117.130.231:102

список получился так как ты просил. я уже не знаю как помочь тебе 
|
|
|

06.12.2008, 01:37
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
нет, список должен быть вот такой
85.249.1.1:80
85.249.28.1:1026
85.249.28.1:1080
85.249.28.1:3128
85.249.28.1:6588
85.249.28.1:6654
85.249.28.1:80
85.249.28.1:8080
85.249.28.1:1026
85.249.28.1:1080
85.249.28.1:3128
85.249.28.1:6588
85.249.28.1:6654
85.249.28.1:80
85.249.28.1:8080
87.117.129.9:80
87.117.129.9:8080
87.117.129.9:80
87.117.129.9:80
87.117.129.1:80
87.117.130.2:80
87.117.130.2:80
87.117.130.2:80
 ну и за это спасибо! Дальше сам буду ковырять!
У [dei] работает, но выдаёт какие то лишние двоиточия, попробую разобраться. Спасибо!
|
|
|

06.12.2008, 01:38
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
mff Заходим в сканнер - Options - Select columns - убрать все из правого столбца. Теперь скрипт:
PHP код:
<?php
$in="This file was generated by Angry IP Scanner
Visit http://www.angryziber.com/ for the latest version
Scanned 87.117.129.90 - 87.117.129.255 (Ports: 80,8080)
06.12.2008 0:23:07
IP Ping Open Ports
87.117.129.92 24 ms 80,8080
87.117.129.91 13 ms 80
87.117.129.99 15 ms 80";
if (preg_match_all('#^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[\s\S]+?([\d,]+)\s*$#mi',$in,$out, PREG_SET_ORDER))
foreach ($out as $row)
{
$tmp=explode(',',$row[2]);
foreach ($tmp as $port)
echo $row[1].':'.$port."\r\n";
}
Просто и быстро, и все равно тебе хосты не нужны
|
|
|

06.12.2008, 01:40
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме: 1123418
Репутация:
362
|
|
PHP код:
<?php
$input = 'ip.txt';//входной файл
$output = 'output.txt';//выходной файл
$in = file($input) or die ('input file not found!!');
$out_f = fopen($output,'w+') or die('cann\'t create output file!!');
$c = count($in);
for($i=0;$i<$c;$i++) {
preg_match('#^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+.+([\d,]{2,})$#U', trim($in[$i]), $t);
if(strpos($t[2],',')!==false) {
$ports=explode(',',$t[2]);
$c2=count($ports);
for($j=0;$j<$c2;$j++)
fwrite($out_f,$t[1].':'.$ports[$j]."\r\n");
}
else if(!empty($t[1]) && !empty($t[2]))
fwrite($out_f,$t[1].':'.$t[2]."\r\n");
}
fclose($out_f);
echo 'Сделано, насяльника!';
?>
disclaimer: третьи сутки неспал.
Последний раз редактировалось [dei]; 06.12.2008 в 01:44..
|
|
|

06.12.2008, 01:45
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Спасибо Gifts, [dei], PHPoozy! Всё работает!!!
|
|
|

06.12.2008, 02:27
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
А вот вариант вообще без preg_match
PHP код:
<?
$fp = fopen("tema.txt", "r");
$list = fread($fp, filesize("tema.txt"));
$t=explode("\r\n",$list);
$count0 = count($t)-1;
for ($i=9;$i<=$count0;$i++)
{
$r = explode(" ",$t[$i]);
$count = count($r)-1;
$count1 = explode(",",$r[$count]);
$s4 = count($count1);
for ($l=0;$l<$s4;$l++) echo $r[0] . ":" . $count1[$l] . "\r\n";
}
fclose($fp);
?>
|
|
|

06.12.2008, 13:20
|
|
Участник форума
Регистрация: 01.03.2006
Сообщений: 169
Провел на форуме: 519496
Репутация:
78
|
|
Добрый день! Кто нибудь может выложить пример генерации картинки, через каптчу (самую простую) и проверку ввода днных с картинки..
|
|
|

06.12.2008, 13:50
|
|
Познающий
Регистрация: 27.07.2008
Сообщений: 98
Провел на форуме: 405792
Репутация:
86
|
|
Cамому писать лениво, код взял тут (http://kurilka.co.ua/archives/captcha/)
PHP код:
<?
session_start ();
switch ($a) {
case 'image':
$im = @imagecreate (80, 20) or die ("Cannot initialize new GD image stream!");
$bg = imagecolorallocate ($im, 232, 238, 247);
$char = $_SESSION['code'];
//создаём шум на фоне
for ($i=0; $i<=128; $i++) {
$color = imagecolorallocate ($im, rand(0,255), rand(0,255), rand(0,255)); //задаём цвет
imagesetpixel($im, rand(2,80), rand(2,20), $color); //рисуем пиксель
}
//выводим символы кода
for ($i = 0; $i < strlen($char); $i++) {
$color = imagecolorallocate ($im, rand(0,255), rand(0,128), rand(0,255)); //задаём цвет
$x = 5 + $i * 20;
$y = rand(1, 6);
imagechar ($im, 5, $x, $y, $char[$i], $color);
}
/*/упрощённый вариант
$color = imagecolorallocate($img, 0, 0, 0);
imagestring($im, 3, 5, 3, $char, $color);*/
//антикеширование
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
//создание рисунка в зависимости от доступного формата
if (function_exists("imagepng")) {
header("Content-type: image/png");
imagepng($im);
} elseif (function_exists("imagegif")) {
header("Content-type: image/gif");
imagegif($im);
} elseif (function_exists("imagejpeg")) {
header("Content-type: image/jpeg");
imagejpeg($im);
} else {
die("No image support in this PHP server!");
}
imagedestroy ($im);
break;
case 'submit':
//проверка кода
if (empty($_GET['code']) or empty($_SESSION['code'])) {
echo 'Вы не указали код подтверждения';
} elseif ($_GET['code'] != $_SESSION['code']) {
echo 'Код подтверждения не совпадает';
} else {
echo 'Всё Ok!';
}
break;
default:
$_SESSION['code'] = substr(md5(uniqid("")),0,4);
echo '<form action="captcha.php" method="get">'.
'<input type="hidden" name="a" value="submit">'.
'<label for="code">Код подтверждения:</label>'.
'<input type="text" id="code" name="code" size="4" maxlength="4">'.
'<img align="absmiddle" src="captcha.php?a=image">'.
'<input type="submit" value="Go">'.
'</form>';
break;
}
?>
|
|
|

06.12.2008, 15:23
|
|
Участник форума
Регистрация: 30.08.2008
Сообщений: 128
Провел на форуме: 668329
Репутация:
106
|
|
подскажите какой функцией php получить путь к файлу?
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|