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

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

  1. Lizochek22

    Lizochek22 New Member

    Joined:
    23 Sep 2008
    Messages:
    8
    Likes Received:
    0
    Reputations:
    -10
    А как запустить его тогда?
     
  2. Makcimka

    Makcimka Member

    Joined:
    31 Aug 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    ну вот ты заливаешь на хост ,например tvoihost.ru
    переход к скрипту уже как его назовешь например tvoihost.ru/123.php
     
  3. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Незнаю может нетуда запостил?!, вот откапал архив с флеш часами для сайта)) 129 шт
    ifolder
    letitbit
    depositfiles
     
    #483 heretic1990, 6 Nov 2008
    Last edited: 6 Nov 2008
  4. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    USB copy sniffer

    С помощью данного скрипта можно отследить файлы, которые были скопированы на съемный носитель (например USB-флешку) с записью информации о скопированных файлах в файл result.txt:

    Открываем блокнот, вставлям код, что ниже, сохраняем как snifer.vbs, запускаем:)

    Code:
     
    ' Тут начинаем сканирование на наличие новых дисков (т.е. ожидаем, пока воткнут что-нибудь)
    strComputer = "." 
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
    Set objEvents = objWMIService.ExecNotificationQuery _
    ("SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " & _
        "TargetInstance ISA 'Win32_LogicalDisk'" & _ 
        " AND TargetInstance.DriveType = 2")
    a=0
    Do While a=0
    Set objReceivedEvent = objEvents.NextEvent
    disk=objReceivedEvent.TargetInstance.Name
    a=1
    Loop
    Set objWMIService = Nothing
    Set objEvents = Nothing
    disk = disk & "\\\\"
    ' Тут сканирование закончивается, если вставили USB (или любой другой съемный носитель - буква диска зафиксирована)
    
    'Тут запускаем логирование копирования файлов на съемный носитель
    FileDestination = "result.txt"
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Destination = FSO.CreateTextFile(FileDestination)
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\cimv2")
    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    ("SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE " _
    & "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
    & "TargetInstance.GroupComponent= " _
    & "'Win32_Directory.Name=""" & disk & """'")
    Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    Str = objLatestEvent.TargetInstance.PartComponent
    Destination.WriteLine now() & "--" & Str
    Loop
    
    Чтобы диск "А" постоянно не пукал (если он есть в системе) - отключите его в "Мой компутер" -"Диспетчер устройств" или физически

    В виде .exe можно скачать здесь:

    http://pashkela.narod.ru/progi/USBsniffer.rar
    Пароль на архив - 123
     
    #484 Pashkela, 6 Nov 2008
    Last edited: 1 Dec 2008
    1 person likes this.
  5. D1mka

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

    Joined:
    2 Jan 2008
    Messages:
    123
    Likes Received:
    14
    Reputations:
    2
    PHP:
    <?
    set_time_limit(0);

    echo 
    "
    <form method=POST>
        <div align=center>
        <table cellpadding=0 cellspacing=0 width=242 id=table1 height=113 border=1>
            <tr>
                <td valign=top><span lang=en-us>Slil.ru</span></td>
                <td height=22 valign=top>
                <input type=radio value=slil checked name=s></td>
            </tr>
            <tr>
                <td valign=top><span lang=en-us>
                WebFile.ru</span></td>
                <td height=22 valign=top>
                <input type=radio name=s value=webfile></td>
            </tr>
            <tr>
                <td valign=top><span lang=en-us>
                Ifolder.ru</span></td>
                <td height=22 valign=top>
                <input type=radio name=s value=ifolder></td>
            </tr>

            <tr>
                <td valign=top><span lang=en-us>
                DepositFiles.com</span></td>
                <td height=22 valign=top>
                <input type=radio name=s value=depositfiles></td>
            </tr>
            <tr>
                <td valign=top>Сканить </td>
                <td height=22 valign=top>С&nbsp;&nbsp;<input type=text name=ot size=7> <br>До<input type=text name=do size=7></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td height=25 valign=top>
                <input type=submit value=Скан name=B1></td>
            </tr>
            <tr>
                <td width=87>&nbsp;</td>
                <td height=22 valign=top width=155>&nbsp;</td>
            </tr>
        </table>
        </div>
    </form>
    <hr>
    "
    ;
    echo 
    "$s<br><br>";

    if(
    $ot=="" || $do==""){exit();}

    if(
    $s=="webfile"){
    $c "1573042";
    ob_flush();
    flush();
    for(
    $i=$ot;$i<$do;$i++) {
    $url "http://webfile.ru/$i";
    $html=file_get_contents("$url");
    preg_match("/\<font size=\"\+1\"\>\<b\>(.*?)\<\/b\>\<\/font\>/si"$html$text);
    $fn=strip_tags($text[1],"");
    $fn str_replace("","",$fn);
    ob_flush();
    flush();
    if(
    $fn==""){$fn="Eroor";}
    echo 
    "[<a target=_blank href=http://webfile.ru/$i>$i</a>:$fn]<br>\n\r";
    ob_flush();
    flush();
    }
    }

    if(
    $s=="slil"){
    $c "25034857";
    for(
    $i=$ot;$i<$do;$i++) {
    $url "http://slil.ru/$i";
    $html=file_get_contents("$url");
    preg_match("/Спасибо всем, кто помогает развивать ресурс(.*?)\закачка файла/si"$html$text);
    $fn=strip_tags($text[1],"");
    $fn str_replace("","",$fn);
    ob_flush();
    flush();
    echo 
    "[<a target=_blank href=http://slil.ru/$i>$i</a>:$fn]<br>\n\r";
    ob_flush();
    flush();
    }
    }

    if(
    $s=="ifolder"){
    for(
    $i=$ot;$i<$do;$i++) {
    $url "http://ifolder.ru/$i";
    $html=file_get_contents("$url");
    preg_match("/\Название(.*?)\<\/b\>\<br\>/si"$html$text);
    //print_r($text);
    $fn=strip_tags($text[1],"");
    ob_flush();
    flush();
    echo 
    "[$i:$fn]<br>";
    ob_flush();
    flush();
    }
    }

    if(
    $s=="depositfiles"){
    for(
    $i=$ot;$i<$do;$i++) {
    $url "http://depositfiles.com/ru/files/$i";
    $html=file_get_contents("$url");
    preg_match("/\Имя Файла: \<b title=\"(.*?)\"\>/si"$html$text);
    $fn=strip_tags($text[1],"");
    $fn str_replace("","",$fn);
    ob_flush();
    flush();

    if(
    $fn==""){$fn="Eroor";}
    echo 
    "[<a target=_blank href=$url>$i</a>:$fn]<br>\n\r";

    }
    }

    ?>
     
  6. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Функция, генерирующая случайные буквы или цифры с заданным количеством символов.
    Первый параметр функции gen() - количество символов, второй - буквы(1)/цифры(2).

    PHP:
    <?php

    gen
    (3,1);

    function 
    gen($num$vari) {

    for(
    $i 0$i $num$i++) {
    switch(
    $vari) {
      case 
    1:
        
    $abc = array('A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z');
        echo 
    $abc[mt_rand(0,9)];
      break;
      case 
    2:
        echo 
    mt_rand(0,9);
      break;
    }}}

    ?>
     
    #486 Ru}{eeZ, 13 Nov 2008
    Last edited: 13 Nov 2008
  7. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    скрипт показывает Координаты мыши

    Code:
    <form name="Show">
    X <input type="text" name="MouseX" value="0" size="4"><br>
    Y <input type="text" name="MouseY" value="0" size="4"><br>
    </form>
    
    <script language="JavaScript1.2">
    <!-- Original: CodeLifter.com ([email protected]) -->
    <!-- Begin
    var IE = document.all?true:false;
    if (!IE) document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove = getMouseXY;
    var tempX = 0;
    var tempY = 0;
    function getMouseXY(e) {
    if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft;
    tempY = event.clientY + document.body.scrollTop;
    }
    else { // grab the x-y pos.s if browser is NS
    tempX = e.pageX;
    tempY = e.pageY;
    } 
    if (tempX < 0){tempX = 0;}
    if (tempY < 0){tempY = 0;} 
    document.Show.MouseX.value = tempX;
    document.Show.MouseY.value = tempY;
    return true;
    }
    // End -->
    </script>
     
    #487 heretic1990, 15 Nov 2008
    Last edited: 15 Nov 2008
  8. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Скрипт для проверки Информации о IP используя whois
    infoip.php
    PHP:
    <? 
    if (!isset(
    $_POST['submit'])) 

    ?> 
    <html> 
    <head> 
      <title>Информация о IP</title> 
    </head> 
    <body> 
      <center> 
         <H4>Информация об IP-адресе</H4> 
           <FORM action=infoip.php method=post> 
             <INPUT type=text name=ip size=35> 
             <input type=submit name = submit value = 'Проверить'> 
           </form> 
      </center> 

    <? 

    else 

    if ($_POST['ip']!= "") 

        $sock = fsockopen ("whois.ripe.net",43,$errno,$errstr); 
         
        if (!$sock) { 
          echo("$errno($errstr)"); 
          return; 
        } 
        else { 
          fputs ($sock, $_POST['ip']."\r\n"); 
          
          while (!feof($sock)) { 
            echo (str_replace(":",":      ",fgets ($sock,128))."<br>"); 
                  } 
        } 
        fclose ($sock); 
          } 


    ?>
     
    1 person likes this.
  9. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    У кого есть скрипт как вот здеся http://avatka.ru/??? Или где моно взять?
     
  10. [dei]

    [dei] Active Member

    Joined:
    24 Nov 2008
    Messages:
    171
    Likes Received:
    112
    Reputations:
    5
    пара перл скриптов, использовались при спаме vконтактe.

    Удаление повторяющихся строк
    Code:
    #!/usr/bin/perl -w
    # Удаление повторяющихся строк
    # by [dei]
    ############ Config #############
    $file = 'acs.txt';
    #############################
    
    open(F1,"< $file");
    
    @lines = <F1>;
    close F1;
    
    for($i=0;$i<@lines;$i++) {
        for($i2=$i+1;$i2<@lines;$i2++) {
            if($lines[$i] eq $lines[$i2]) { splice @lines, $i2, 1; }
        }
    }
    
    open(F2,"> $file");
    print F2 join('',@lines);
    close F2;
    

    Разбивка одного файла на равные мелкие файлы
    Code:
    #!/usr/bin/perl -w
    # Разбивка файла на мелкие
    # by [dei]
    ############ Config #############
    $file = 'groups.txt';
    $newname = 'groups.txt';#к имени прибавляется порядковый номер
    $count = 10;
    #############################
    use POSIX qw(ceil);
    
    open(FF,"< $file");
    
    @lines = <FF>;
    close FF;
    
    $x = ceil(($#lines+1)/$count);
    
    for($i=1;$i<=$count;$i++){
        $newname =~ s/([0-9]*|)\.txt/$i\.txt/;
        
        $f = F.$i;
        open($f,"> $newname");
        
        $n1 = $i * $x - $x;
        if($i==$count) { $n2 = $#lines+1; }
        else { $n2 = $i * $x; }
        
        for($i2=$n1;$i2<$n2;$i2++) {
            print $f $lines[$i2];
        }
    }
    
     
    #490 [dei], 26 Nov 2008
    Last edited: 26 Nov 2008
    2 people like this.
  11. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    [dei], написал бы для чего какой скрипт!
     
  12. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Генератор статуса skype

    skype.php
    PHP:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>Генератор статуса skype</title>
    </head>
    <body>


    <form action="skype.php" method="post">

    <input name="skype" type="text" value="Введите ник" />
    <input name="submit" type="submit" value="Получить код" />
    </form>

    <?
    if (isset ($skype))
    {
    echo "&lt;script type=&quot;text/javascript&quot; src=&quot;http://download.skype.com/share/skypebuttons/js/skypeCheck.js&quot;&gt; &lt;/script&gt;
    &lt;a href=&quot;skype:";
    echo $skype;
    echo "?chat&quot;&gt;&lt;img src=&quot;http://mystatus.skype.com/smallicon/";
    echo $skype;
    echo "&quot; style=&quot;border: none;&quot; width=&quot;16&quot; height=&quot;16&quot; alt=&quot;Мой статус в Skype&quot; /&gt;";
    }
    ?>

    </body>
    </html>
     
    3 people like this.
  13. Architek86

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

    Joined:
    20 Feb 2008
    Messages:
    80
    Likes Received:
    1
    Reputations:
    0
    Может, у кого то есть парсер virustotal.com?
    Необходимо скриптом сайта mysite.ru с его же сервера отправлять файл вирустоталу, после чего выводить результат на mysite.ru.. народ, такое реально???
     
  14. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    И правда! не заметил =)
    А вот в таком тоне со мной разговаривать не обязательно!!!
     
  15. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Такое реально сделать, сначало загружаешь к себе на хост файл для проверки, потом через CURL заливаешь
    на virustotal.com, парсишь. Только там надо будет еще повозиться что бы снять результат, там через аякс сделано, с часик посидеть и будет все. Удачи в начинаниях :)
     
  16. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Простенький парсер яндекс серча.

    Создаем новый объект ->
    PHP:
    setQuery('текст для поиска в утф-8''страница(0- по умолчанию)''сортировать результаты - yes/no');
    $yd->ydSend(); //отправляем все
    В методе parse останется массив $resarr с результатами поиска.


    PHP:
    <?php

    /**
     * @name Yandex Xml parser
     * @author Chaak
     */


    class yaXML
    {
        private 
    $query '';
        private 
    $page 0;
        private 
    $sort 'yes';
        private 
    $xml '';
        private 
    $result '';
        private 
    $parsed = array();


        
    /**
         * Отправляет заголовки на сервер
         * @param лень писать, рука отвалится :)
         */
        
    private function socket_do($action,$method,$header false,$timeout 10,$params false,$follow false,$cookie false,$referer false)
        {
            
    $ch curl_init();
            if(
    strtoupper($method) == 'GET')
            {
                
    $action .= '?'.$params;
                
    curl_setopt($ch,CURLOPT_URL,$action);
                
    curl_setopt($ch,CURLOPT_HTTPGET,1);
            } elseif(
    strtoupper($method) == 'POST')
            {
                
    curl_setopt($ch,CURLOPT_URL,$action);
                
    curl_setopt($ch,CURLOPT_POST,true);
                
    curl_setopt($ch,CURLOPT_POSTFIELDS,$params);
            }
            else
            {
                
    curl_setopt($ch,CURLOPT_URL,$action);
            }

            if(@
    $this->proxy)
            {
                
    curl_setopt($ch,CURLOPT_PROXY,$proxy);
            }

            
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
            
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,$follow);
            
    curl_setopt($ch,CURLOPT_FAILONERROR,false);
            
    curl_setopt($ch,CURLOPT_HEADER,$header);
            
    curl_setopt($ch,CURLOPT_USERAGENT,'Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1');
            
    curl_setopt($ch,CURLOPT_REFERER,$referer);
            
    curl_setopt($ch,CURLOPT_COOKIE,$cookie);
            
    curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);
            
    $done curl_exec($ch);
            
    curl_close($ch);
            return 
    $done;
        }

        
    /**
         * Подготавливает запрос
         * @access private
         * @return void
         */
        
    private function prepareQuery()
        {
            
    $this->query htmlspecialchars(stripslashes(substr($this->query,0,150)));
            
    $this->page = (int)$this->page;
            
    $this->sort = ((strtolower($this->sort) != 'yes') && (strtolower($this->sort) != 'no'))?('yes'):($this->sort);
            
    $this->xml '<request><query>'.$this->query.'</query><page>'.$this->page.'</page><sort priority="'.$this->sort.'" /></request>';
        }

        
    /**
         * Функция отправки данных на ЯД
         * @access private
         * @return void
         */
        
    private function sendXMLData()
        {
            if(!
    $this->result $this->socket_do('http://xmlsearch.yandex.ru/xmlsearch/','post',0,15,$this->xml,1))
            {
                die(
    'Ошибка соединения');
            }
        }

        
    /**
         * Парсит запрос
         * @return void
         */
        
    private function parse()
        {
            if(
    $this->result)
            {
                
    //парсим урлы
                
    preg_match_all('#<url>(.*?)</url>#i',$this->result,$urls);
                
    $urls array_unique($urls['1']);
                
    //парсим титлы
                
    preg_match_all('#<title>(.*?)</title>#i',$this->result,$titles);
                
    $titles $titles['1'];
                
    //парсим примеры текстов
                
    preg_match_all('#<passage>(.*?)</passage>#i',$this->result,$passage);
                
    $passage $passage['1'];

                if(
    $urls)
                {
                    
    $resarr = array();

                    for(
    $i 0,$c sizeof($urls); $i $c$i++)
                    {
                        
    $resarr[$i] = array('title' => strip_tags($titles[$i]),'passage' => strip_tags($passage[$i]),'url' => $urls[$i]);
                    }
                    echo 
    '<pre>';
                    
    print_r($resarr);
                    echo 
    '</pre>';
                }
                else
                {
                    echo 
    $this->result;
                }
            }
            else
            {
                die(
    'Запрос вернул пустое значение');
            }
        }

        
    /**
         * Устанавливает неободимые параметры
         * @param (string)query - запрос, (int)page - страница, (string) sort - сортировать?
         * @access private
         * @return bool
         */
        
    public function setQuery($query,$page 0,$sort 'yes')
        {
            
    $this->query $query;
            
    $this->page $page;
            
    $this->sort $sort;
        }

        
    /**
         * No comments
         */
        
    public function ydSend()
        {
            
    $this->prepareQuery();
            
    $this->sendXMLData();
            
    $this->parse();
        }
    }


    $yd = new yaXML();
    $yd->setQuery(urldecode(iconv('windows-1251','utf-8',$_GET['text'])),$_GET['page'],$_GET['sort']);
    $yd->ydSend();

    ?>
     
  17. t00th

    t00th Banned

    Joined:
    15 Jul 2007
    Messages:
    37
    Likes Received:
    15
    Reputations:
    6
    Не знаю как у вас, а у меня файлы и сами торрент файлы хранятся в одной папке и часто удаляю я файлы просто shift+delete поэтому мусорка за 10 месяцев набралась просто страшная, собственно написал скрипт который удаляет торрент файл если не найден файл
    Code:
    #!/usr/bin/python2.5  
    import os  
    import re    
    
    def read_f(path):
        data = open(path, "r").read()  	
        num = re.search(":name(\d+)", data).group(1) 	    
        name = re.search(":name(\d+):(.{%s})" % num, data).group(2)  	
        return name    
    
    path = 'C:\\Torrents\\'  
    files = [(file) for file in os.listdir(path) if file.endswith('.torrent')]  
    for file in files:  	
        name = read_f(path+file)  	
        if not os.path.exists(path+name):  	    
            os.remove(path+file)
     
  18. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Защита "ящика" от роботов
    Простейший способ защиты своего E-mail от роботов, которые шарят по сайтам и ВОРУЮТ почтовые адреса для спаммеров. Адрес, записанный JavaScript кодом абсолютно пригоден для посетителей и столь же затруднителен в добывании для роботов.

     
  19. vikseriq

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

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    Сорри, но это уже прошлый век - не прокатит. На собственной шкуре знаю. Там обычно или анализ кода ("user + '@' + site" -> гребем переменные), или уже парсинг страницы с выполненным js ( в ][ даже статья была, как это сделать )
     
  20. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    vikseriq а я и не говорил что на 100% поможет от ботов!

    а если так???

    HTML:
    <script language="javascript" type="text/javascript" src="script.js"></script>
    Для указания e-mail

    HTML:
    <script language="javascript" type="text/javascript"> maillink("address","mail","ru"); </script>

    script.js

    HTML:
    function maillink(mailprefix, maildomain, mailsuffix, mailname)
    {
    if (mailname == null) { mailname = "[email protected]"; }
    
    document.write('<a href="mailto:' + mailprefix + '%40' + maildomain + '.' + mailsuffix + '">' + mailname + '</a>');
    }