Jump to content

helraizer

Members
  • Posts

    401
  • Joined

  • Last visited

Posts posted by helraizer

  1. I have a login system and i need any1 to tell me if they run across any errors

     

    (WARNING THIS IS AN ADULT SITE)

     

    http://1800sexnow.com

     

    Please Test the main login

     

    What should happen after you register is that you should be able to see the sites content there is a profile page and edt info page a forgot password page ect..

     

    everytime you get a username or password wrong it opens a new tab, I didn't realise this until I had about 16 open tabs of your site. Also if I type a username such as "asfasfpj" and a wrong password it says "Username is invalid" but if I enter "Admin" then get the password wrong it says "Incorrect password" meaning I got the username right.  Don't do this because attackers can use this because they then know they have the username.  Try saying something like "Invalid Username/Password" because then they don't know which they got wrong.

     

  2. 1 point I've noticed is that your signature strips all HTML, which is fine. However when you use BBCode it converts it HTML, so when you go back to change your signture, what you already have is then stripped out.

     

    Also, my signature is 999x999px. So you may want to limit the size of signatures.

  3. I edited c992.php into a remote IP tracker.

    I don't even get that sentence.

     

    I think what he meant is that only the person who placed c992.php would access it, so if the OP edited it to captcher the user's IP address, he'd catch the person who placed it (IP wise).

     

    He kinda foiled his own plan there by telling everyone on here about it, thus getting more people to access it.

  4. Hey folks,

     

    I'm working on animating gifs in GD. I've adapted the use of the GIFEncoder class from phpclasses.

    original

    gif.php

     

    <?php
    
    
    Class GIFAnimator {
        var $GIF = "GIF89a";       
        var $VER = "GIFEncoder V2.05";    
    
        var $BUF = Array ( );
        var $LOP =  0;
        var $DIS =  2;
        var $COL = -1;
        var $IMG = -1;
    
        var $ERR = Array (
            ERR00=>"Does not supported function for only one image!",
            ERR01=>"Source is not a GIF image!",
            ERR02=>"Unintelligible flag ",
            ERR03=>"Does not make animation from animated GIF source",
        );
    
       
        function GIFAnimator    (
                                $GIF_src, $GIF_dly, $GIF_lop, $GIF_dis,
                                $GIF_red, $GIF_grn, $GIF_blu, $GIF_mod
                            ) {
            if ( ! is_array ( $GIF_src ) && ! is_array ( $GIF_tim ) ) {
                printf    ( "%s: %s", $this->VER, $this->ERR [ 'ERR00' ] );
                exit    ( 0 );
            }
            $this->LOP = ( $GIF_lop > -1 ) ? $GIF_lop : 0;
            $this->DIS = ( $GIF_dis > -1 ) ? ( ( $GIF_dis < 3 ) ? $GIF_dis : 3 ) : 2;
            $this->COL = ( $GIF_red > -1 && $GIF_grn > -1 && $GIF_blu > -1 ) ?
                            ( $GIF_red | ( $GIF_grn << 8 ) | ( $GIF_blu << 16 ) ) : -1;
    
            for ( $i = 0; $i < count ( $GIF_src ); $i++ ) {
                if ( strToLower ( $GIF_mod ) == "url" ) {
                    $this->BUF [ ] = fread ( fopen ( $GIF_src [ $i ], "rb" ), filesize ( $GIF_src [ $i ] ) );
                }
                else if ( strToLower ( $GIF_mod ) == "bin" ) {
                    $this->BUF [ ] = $GIF_src [ $i ];
                }
                else {
                    printf    ( "%s: %s ( %s )!", $this->VER, $this->ERR [ 'ERR02' ], $GIF_mod );
                    exit    ( 0 );
                }
                if ( substr ( $this->BUF [ $i ], 0, 6 ) != "GIF87a" && substr ( $this->BUF [ $i ], 0, 6 ) != "GIF89a" ) {
                    printf    ( "%s: %d %s", $this->VER, $i, $this->ERR [ 'ERR01' ] );
                    exit    ( 0 );
                }
                for ( $j = ( 13 + 3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ) ), $k = TRUE; $k; $j++ ) {
                    switch ( $this->BUF [ $i ] { $j } ) {
                        case "!":
                            if ( ( substr ( $this->BUF [ $i ], ( $j + 3 ), 8 ) ) == "NETSCAPE" ) {
                                printf    ( "%s: %s ( %s source )!", $this->VER, $this->ERR [ 'ERR03' ], ( $i + 1 ) );
                                exit    ( 0 );
                            }
                            break;
                        case ";":
                            $k = FALSE;
                            break;
                    }
                }
            }
            GIFAnimator::GIFHead ( );
            for ( $i = 0; $i < count ( $this->BUF ); $i++ ) {
                GIFAnimator::GIFGetFrames ( $i, $GIF_dly [ $i ] );
            }
            GIFAnimator::GIFFoot ( );
        }
       
        function GIFHead ( ) {
            $cmap = 0;
    
            if ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x80 ) {
                $cmap = 3 * ( 2 << ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x07 ) );
    
                $this->GIF .= substr ( $this->BUF [ 0 ], 6, 7        );
                $this->GIF .= substr ( $this->BUF [ 0 ], 13, $cmap    );
                $this->GIF .= "!\377\13NETSCAPE2.0\3\1" . GIFAnimator::GIFWord ( $this->LOP ) . "\0";
            }
        }
      
        function GIFGetFrames ( $i, $d ) {
    
            $Locals_str = 13 + 3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) );
    
            $Locals_end = strlen ( $this->BUF [ $i ] ) - $Locals_str - 1;
            $Locals_tmp = substr ( $this->BUF [ $i ], $Locals_str, $Locals_end );
    
            $Global_len = 2 << ( ord ( $this->BUF [ 0  ] { 10 } ) & 0x07 );
            $Locals_len = 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 );
    
            $Global_rgb = substr ( $this->BUF [ 0  ], 13,
                                3 * ( 2 << ( ord ( $this->BUF [ 0  ] { 10 } ) & 0x07 ) ) );
            $Locals_rgb = substr ( $this->BUF [ $i ], 13,
                                3 * ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ) );
    
            $Locals_ext = "!\xF9\x04" . chr ( ( $this->DIS << 2 ) + 0 ) .
                            chr ( ( $d >> 0 ) & 0xFF ) . chr ( ( $d >> 8 ) & 0xFF ) . "\x0\x0";
    
            if ( $this->COL > -1 && ord ( $this->BUF [ $i ] { 10 } ) & 0x80 ) {
                for ( $j = 0; $j < ( 2 << ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 ) ); $j++ ) {
                    if    (
                            ord ( $Locals_rgb { 3 * $j + 0 } ) == ( ( $this->COL >> 16 ) & 0xFF ) &&
                            ord ( $Locals_rgb { 3 * $j + 1 } ) == ( ( $this->COL >>  8 ) & 0xFF ) &&
                            ord ( $Locals_rgb { 3 * $j + 2 } ) == ( ( $this->COL >>  0 ) & 0xFF )
                        ) {
                        $Locals_ext = "!\xF9\x04" . chr ( ( $this->DIS << 2 ) + 1 ) .
                                        chr ( ( $d >> 0 ) & 0xFF ) . chr ( ( $d >> 8 ) & 0xFF ) . chr ( $j ) . "\x0";
                        break;
                    }
                }
            }
            switch ( $Locals_tmp { 0 } ) {
                case "!":
                    $Locals_img = substr ( $Locals_tmp, 8, 10 );
                    $Locals_tmp = substr ( $Locals_tmp, 18, strlen ( $Locals_tmp ) - 18 );
                    break;
                case ",":
                    $Locals_img = substr ( $Locals_tmp, 0, 10 );
                    $Locals_tmp = substr ( $Locals_tmp, 10, strlen ( $Locals_tmp ) - 10 );
                    break;
            }
            if ( ord ( $this->BUF [ $i ] { 10 } ) & 0x80 && $this->IMG > -1 ) {
                if ( $Global_len == $Locals_len ) {
                    if ( GIFAnimator::GIFBlock ( $Global_rgb, $Locals_rgb, $Global_len ) ) {
                        $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_tmp );
                    }
                    else {
                        $byte  = ord ( $Locals_img { 9 } );
                        $byte |= 0x80;
                        $byte &= 0xF8;
                        $byte |= ( ord ( $this->BUF [ 0 ] { 10 } ) & 0x07 );
                        $Locals_img { 9 } = chr ( $byte );
                        $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_rgb . $Locals_tmp );
                    }
                }
                else {
                    $byte  = ord ( $Locals_img { 9 } );
                    $byte |= 0x80;
                    $byte &= 0xF8;
                    $byte |= ( ord ( $this->BUF [ $i ] { 10 } ) & 0x07 );
                    $Locals_img { 9 } = chr ( $byte );
                    $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_rgb . $Locals_tmp );
                }
            }
            else {
                $this->GIF .= ( $Locals_ext . $Locals_img . $Locals_tmp );
            }
            $this->IMG  = 1;
        }
        
        function GIFFoot ( ) {
            $this->GIF .= ";";
        }
       
        function GIFBlock ( $GlobalBlock, $LocalBlock, $Len ) {
    
            for ( $i = 0; $i < $Len; $i++ ) {
                if    (
                        $GlobalBlock { 3 * $i + 0 } != $LocalBlock { 3 * $i + 0 } ||
                        $GlobalBlock { 3 * $i + 1 } != $LocalBlock { 3 * $i + 1 } ||
                        $GlobalBlock { 3 * $i + 2 } != $LocalBlock { 3 * $i + 2 }
                    ) {
                        return ( 0 );
                }
            }
    
            return ( 1 );
        }
       
        function GIFWord ( $int ) {
    
            return ( chr ( $int & 0xFF ) . chr ( ( $int >> 8 ) & 0xFF ) );
        }
        
        function GetAnimation ( ) {
            return ( $this->GIF );
        }
    } 
    
    ?>
    

     

     

     

    I have used

     

    <?php
    
    include('gif.php');
    
    $image = imagecreatefrompng("../mychatbox/user/helraizer1.png");
    
    
    if ( $dh = opendir ( "frames/" ) ) {
    
        while ( false !== ( $dat = readdir ( $dh ) ) ) {
    
            if ( $dat != "." && $dat != ".." ) {
    
                $frames [ ] .= "frames/$dat";
    
                $framed [ ] = 20;
    
            }
    
        }
    
        closedir ( $dh );
    
    }
       
        foreach( $frames as $thePfhrame )
       
          {
       
              $imgPfhrame = imagecreatefromgif($thePfhrame);
       
              imagecopymerge($image, $imgPfhrame, imageSX($image)/2, imageSY($image)/1.5, 0, 0, 15, 15, 100);
       
              
              
            
          }
          
    
      $gif = new GIFAnimator    (
    
                                $frames, //sources - URL or path
    
                                $framed, //delay times - int
    
                                0, //Animation loops - int - 0 is infinite
    
                                2, //Disposal - int
    
                                -1, -1, -1, //transparency red, green, blue - int
    
                                "url" // source type
    
            );
       
       
        
    
           
    
            header("Content-Type: image/gif");
    
    echo $gif->GetAnimation();
    
    
    FWrite ( FOpen ( "img.gif", "wb" ), $gif->GetAnimation ( ) );
    
    
    ?>  

     

    and it produces this:

     

    img.gif

     

    As you can see the one that is in middle is animated! So that works perfectly fine, on its own.

     

    However when I put the code in my showimage script (to produce the shoutbox), which is in a different folder, but still has a 'frames' folder with the same frames in it, it gives me the error.

     

    GIFEncoder V2.05: Does not supported function for only one image!

     

    Even though there are 9 frames in the folder.

     

    if(stristr($line, ":roll:")) {
    		session_register("roll");
    		$_SESSION['roll'] = 1;
    	}
           
    if (isset($filter)) {
    header("Content-Type: image/png"); // tell the browser what we're gonna give it
        imagepng($image);
    
    } elseif ($page == 1) {
    
    if(!isset($_SESSION['roll'])) {
    header("Content-Type: image/png"); // tell the browser what we're gonna give it
        imagepng($image);
    imagepng($image, "./user/" . $user . $box. ".png");
    
    } else {
    
     $pos = strpos($line, ":roll:");
    
            if ($font == "palab") {
                $post = $pos * 5.7;
            } elseif ($font == "comicsans") {
                $post = $pos * 6.725;
            } elseif ($font == "calibri") {
                $post = $pos * 5;
            } elseif ($font == "courbd") {
                $post = ($pos * 5. + 1;
            } elseif ($font == "arial") {
                $post = ($pos * 7.3) + 1;
            } else {
    
            }
    
    
          		
          if ( $dh = opendir ( "frames/" ) ) {
    
        while ( false !== ( $dat = readdir ( $dh ) ) ) {
    
            if ( $dat != "." && $dat != ".." ) {
    
                $frames [ ] .= "frames/$dat";
    
                $framed [ ] = 17;
    
            }
    
        }
    
        closedir ( $dh );
    
    }
       
        foreach( $frames as $thePfhrame )
       
          {
       
              $imgPfhrame = imagecreatefromgif($thePfhrame);
       
              imagecopymerge($image, $imgPfhrame, ($cur_line_x + $post) + 6, (($cur_line_y + $lineheight) - 30.5), 0, 0, 15, 15, 100);
       
              
              
            
          }
          
    
      $gif = new GIFAnimator    (
    
                                $frames, //sources - URL or path
    
                                $framed, //delay times - int
    
                                0, //Animation loops - int - 0 is infinite
    
                                2, //Disposal - int
    
                                -1, -1, -1, //transparency red, green, blue - int
    
                                "url" // source type
    
            );
       
       
        
    
           
    
            header("Content-Type: image/gif");
    
    echo $gif->GetAnimation();
    
    
    FWrite ( FOpen ( "helraizer2.gif", "wb" ), $gif->GetAnimation ( ) );
    
    }
    
    
    else {
    header("Content-Type: image/png"); // tell the browser what we're gonna give it
        imagepng($image);
    
    }
    

     

    The error comes about if $frames isn't an array but, it is. Any idea why this happens?

     

    Sam

  5. Hey,

     

    I have a PHP script that I made for an image based shoutbox with emoticons. The problem is that php GD doesn't support animated gifs, yet perl GD does. How would I make it so that I could copy the animated gifs via Perl onto the static image that I made with php? I've tried with php imagecreatefromgif(), which produces a static image. I also tried using the GIFAnimation class from phpclasses to make an animated gif but it returns it as an object or a string, not an image resource. So if I use imagecreatefromstring it will again be static..

     

     

    helraizer1.png

     

    As you can see it has static emoticons. Like a normal shoutbox, but in an image form. I was wondering whether there is any possible way to use Perl GD to animate the gifs within GD (since the files themselves are animated). Then with these animated gifs imagecopymerge them onto the shoutbox image, as I am doing now. Therefore having the emoticons animated on the shoutbox image.

     

    Hope that makes more sense.. Is that possible?

     

    I must admit I've not used much Perl before, at all.

     

    Sam

  6. evidenceeq2.jpg

     

    Hmm...

    SQL injection attempt. However, only files were uploaded, none of my database entries were modified...

     

    Why don't you log IPS?

     

    If you meant IP address; he does log it.  Only from what I can imagine, he's using a hidden field with value="<?php echo $_SERVER['REMOTE_ADDR']; ?>" and thus someone made an identical form pointing to the same place and and sent it with the hidden input value of 'i lurves no ipz'.

  7. showimage_a.php5?uid=22&page=1

     

    Each comment is added on one line. However if you add a comment with a carriage return (press enter in the textarea) then it writes it like this:

     

    helraizer3.png

     

    The comment was

     

    "new

     

    line

     

    feed"

     

    As you can see, the new is on the line it's supposed to be; then the 'line' is under the third comment and 'feed' is under the 5th.

     

    Is it possible to strip the new lines that it's read "New Line Feed" all on one line, even if they added the carriage returns?

     

    Hope that makes sense,

     

    Sam

  8. Hi folks,

     

    I have a comment form with textarea, but since the comments go onto an image I don't want them to be able to enter a carriage return/new line.

     

    I've tried this:

     

    $text = mysql_real_escape_string(htmlspecialchars(stripcslashes(substr($_POST['input'],
                        0, $rowing['char_count']))));
    $text = mysql_real_escape_string(stripcslashes(nl2br($text)));
    $text = mysql_real_escape_string(stripcslashes(str_replace("<br>", " ", $text)));
    

     

    That, to me get's the truncated message (just incase it's over the character limit), which works. Then it should turn all new lines to a <br> tag then strip said tag. However it still adds the new line.

     

    How else could I strip any new line feeds from the $text value?

     

    Sam

     

     

  9. quadruple post. xD

     

    The imagecreatetruecolour only solved it for a little while, allowing one more comment of colour than before, now the comments do the same thing.

     

    Any ideas why when a new comment is posted, the imagecolorallocate fails and the comments turn black?

     

    supposed to be like:

     

    helraizer.gif - plain background, colours work!

     

    but ends up like:

     

    lucifer.gif - detailed background, colours only work part of the time.

     

    Please reply if you have any theories.

     

    Sam

     

     

  10. W00t, triple post.

     

    Anyways. I've fixed it now!

     

    It's always the simple things.. I used imagecreatetruecolor($wid, $hei); instead of imagecreate(); and it works perfectly now. Before, because of the photo background, I was running out of colours (so to speak). It works poifectly now.

     

    Sam

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.