Pokaż wyniki 1 do 2 z 2

Temat: blad w skrypcie, funkcja str_replace()

  1. #1
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie Cannot use string offset as an array

    napisalem skrypt, ktory ma za zadanie przeszukac kilka podstron na www.samair.ru, znajduja sie tam adresy serwerow proxy, numery portow sa sprytnie zabezpieczone w javascripcie, wyglada to tak:
    <tr><td>84.245.83.253<script type="text/javascript">document.write(":"+o+w+d+l)</script>
    a w head
    <script type="text/javascript">
    u=4;d=2;n=7;t=9;w=1;i=5;f=6;v=0;l=8;o=3;</script>
    calkiem zmyslnie prawda, dla kazdej podstrony lista tych znakow podmieniajacych numer portu jest inna, napisalem wiec krypt coby to zabezpieczenie ominac i zrobic baze:

    Kod php:
    <?php
    $fp 
    "";
    $ile 0;
    for ( 
    $numer $numer 49 $numer++ ){
        if (
    strlen($numer) < ){$numer "0".$numer;}
        
    $fp=fsockopen("localhost""8118"); 
        
    fwrite($fp"GET http://www.samair.ru/proxy/proxy-".$numer.".htm HTTP/1.1
    User-Agent: The BoT (Windows 666; U; FY)
    Host: www.samair.ru
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
    Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: identity, *;q=0
    Cache-Control: no-cache
    Connection: Keep-Alive

    "
    );
        while(!
    feof($fp)){$dane.= fread($fp1024);}
        
    preg_match_all("/(.)=(.);/"$dane$out_jsPREG_PATTERN_ORDER);
        
    preg_match_all("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})<script type=\"text\/javascript\">document.write\(\":\"(.*?)\)<\/script>/"$dane$outPREG_PATTERN_ORDER);
        
    fclose($fp);
        
    $ile 0;
        while (
    $out[0][$ile] != 0){
            
    $out[5][$ile] = str_replace("+"""$out[5][$ile]);
            
    $ile_js 0;
                while (
    $out_js[1][$ile_js] != 0){
                    
    $out[5][$ile] = str_replace($out_js[1][$ile_js], $out_js[2][$ile_js], $out[5][$ile]); //## TUTAJ JEST NIBY BLAD ##//
                    
    $ile_js++;}
            
    $out_js "";
            
    $file "proxy.txt"
               
    $fp fopen($file"a+"); 
               
    fwrite($fpstripslashes($out[0][$ile].":".$out[5][$ile]."\r\n")); 
            
    $ile++;}
        
    $out "";
        
    $dane "";}
    ?>
    niestety wyskakuje dziwny blad o tresc:
    PHP Fatal error: Cannot use string offset as an array in ipreg.php on line 29
    moglby mi ktos wytlumaczyc co jest nie tak? glowie sie nad tym juz dluzszy czas, skrypt wydawac by sie moglo powinien dzialac, zawartosci zmiennych sprawdzalem, sa w porzadku.
    Ostatnio edytowane przez gogulas : 03-22-2008 - 21:37
    http://gogulas.yoyo.pl/h.gif

  2. #2
    Zarejestrowany
    Sep 2007
    Skąd
    Tu
    Postów
    1,236

    Domyślnie

    Problem rozwiazany, jesli dana zmienna jest tablica, to nie mozna jej w ten spsob czyscic $zmienna = "";

    gotowy, dzialajacy kod, moze komus sie przyda

    Kod php:
    <?php
    set_time_limit
    (999999999);
    $fp "";
    for ( 
    $numer $numer 45 $numer++ ){
        if (
    strlen($numer) < ){$numer "0".$numer;}
        
    $fp=fsockopen("www.samair.ru""80"); 
        
    fwrite($fp"GET /proxy/proxy-".$numer.".htm HTTP/1.1
    User-Agent: The BoT (Windows 666; U; FY)
    Host: www.samair.ru
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
    Accept-Language: pl-PL,pl;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: identity, *;q=0
    Cache-Control: no-cache
    Connection: Keep-Alive

    "
    );
        while(!
    feof($fp)){$dane.= fread($fp1024);}
        
    preg_match_all("/(.)=(.);/"$dane$outjsPREG_PATTERN_ORDER);
        
    preg_match_all("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})<script type=\"text\/javascript\">document.write\(\":\"(.*?)\)<\/script>/"$dane$outPREG_PATTERN_ORDER);
        
    fclose($fp);
        
    $ile "0";
        while (
    $out[0][$ile]){
            
    $out[5][$ile] = str_replace("+"""$out[5][$ile]);
            
    $ilejs "0";
                while (
    $outjs[2][$ilejs]){
                    
    $out[5][$ile] = str_replace($outjs[1][$ilejs], $outjs[2][$ilejs], $out[5][$ile]);
                    
    $ilejs++;}
            
    $ip explode("<script"$out[0][$ile]);
            
    $file "proxy.txt"
            
    $fp fopen($file"a+"); 
            
    fwrite($fpstripslashes($ip[0].":".$out[5][$ile]."\r\n")); 
            
    $ile++;}
        
    $dane "";}
        echo 
    "Sukses :) <a href=proxy.txt> Proxy</a>";
    ?>
    Na tej stronie (wysoko zapozycjonowaniej, 1/2 pozycja w G) mozna znalesc na prawde szybko dzialajace proxy.

    Z tematem prosze cos zrobic zamknac/skasowac
    Ostatnio edytowane przez gogulas : 03-23-2008 - 16:37
    http://gogulas.yoyo.pl/h.gif

Podobne wątki

  1. Excel - funkcja BAHTTEXT
    By northdakota in forum Windows
    Odpowiedzi: 0
    Autor: 01-17-2008, 18:39
  2. apache+php = blad :(
    By *DK* in forum PHP/CGI/ASP/JSP/J2EE
    Odpowiedzi: 4
    Autor: 11-19-2007, 15:35
  3. Odpowiedzi: 1
    Autor: 05-31-2007, 18:40
  4. blad
    By kalipawel in forum Linux
    Odpowiedzi: 4
    Autor: 04-29-2007, 19:18
  5. blad
    By kalipawel in forum C/C++
    Odpowiedzi: 3
    Autor: 04-09-2007, 10:08

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj