MMORPG Core - Deutsche Community für Online Rollenspiele - Powered by vBulletin

  • AAA
  • Aggressive
  • Alienated
  • Amazed
  • Amused
  • Angelic
  • Angry
  • Apelike
  • Artistic
  • Asleep
  • Balanced
  • Banhappy
  • Bashful
  • Bitchy
  • Blah
  • Bookworm
  • Bored
  • Breezy
  • Brooding
  • Busy
  • Buzzed
  • Chatty
  • Cheeky
  • Cheerful
  • Cloud 9
  • Cold
  • Coldturkey
  • Confused
  • Cool
  • Crappy
  • Creative
  • Curious
  • Cynical
  • Daring
  • Dead
  • Depressed
  • Devilish
  • Disagree
  • Doh
  • Doubtful
  • Dramaqueen
  • Dreaming
  • Drunk
  • Elated
  • Energetic
  • Fiendish
  • Fine
  • Flirty
  • Gloomy
  • Goofy
  • Grumpy
  • Happy
  • Horny
  • Hot
  • Hungover
  • In Love
  • Innocent
  • Inpain
  • Insomnious
  • Inspired
  • Lonely
  • Lucky
  • Lurking
  • Mellow
  • Mischievious
  • Mondayblues
  • Musical
  • Nerdy
  • Notamused
  • Notworthy
  • Paranoid
  • Pensive
  • Predatory
  • Procrastinating
  • Psychedelic
  • Question
  • Relaxed
  • Roflmao
  • Sad
  • Scared
  • Scurvy
  • Shocked
  • Sick
  • Sleepy
  • Sluggish
  • Sneaky
  • Snobbish
  • Spaced
  • Spooky
  • Sporty
  • Starving
  • Stressed
  • Sunshine
  • Sweettooth
  • Thinking
  • Tired
  • Torn
  • Twisted
  • Veggedout
  • Volatile
  • Woot
  • Worried
  • Yeehaw
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • Tweet   
    Ergebnis 1 bis 8 von 8
    1. #1
      Neuling
       

      Registriert seit
      Feb 2012
      Beiträge
      4
      Danke
      0
      Danke erhalten: 0

      Standard [Homepage] register Frage

      Die Werbung stört? Registriere dich hier!
      Hallo Com,
      ich habe hier mal mein register script, aber iwie kann ich beim Captcha eingeben was ich will,
      hat vllt jmd nen Fix dafür?

      PHP-Code:
      <h1>Registration</h1><div class="site">    <?php        if(!isset($_POST['reg_username'])) $_POST['reg_username'] = '';        if(!isset($_POST['reg_email'])) $_POST['reg_email'] = '';                odbc_exec($mssql'USE [ACCOUNT_DBF]');        $checkacc odbc_exec($mssql'SELECT COUNT(*) as count FROM [ACCOUNT_TBL] WHERE account=\''.mssql_escape_string($_POST['reg_username']).'\'');        $checkmail odbc_exec($mssql'SELECT COUNT(*) as count FROM [ACCOUNT_TBL_DETAIL] WHERE email=\''.mssql_escape_string($_POST['reg_email']).'\'');        $errors = array();        if(empty($_POST['reg_username']) || empty($_POST['reg_password']) || empty($_POST['reg_confirmpw']) || empty($_POST['reg_email']) || empty($_POST['reg_check']) || empty($_POST['reg_captcha']))            $errors[] = 'Du musst alle Felder ausf&uuml;llen!';        if(!empty($_POST['reg_username']) && odbc_result($checkacc'count') > 0)            $errors[] = 'Der Benutzername existiert bereits!';        if(!empty($_POST['reg_email']) && odbc_result($checkmail'count') > 0)            $errors[] = 'Die E-Mail Adresse existiert bereits!';        if(!empty($_POST['reg_username']) && (strlen($_POST['reg_username']) > 10 || strlen($_POST['reg_username']) < 4))            $errors[] = 'Dein Benutzername muss 4 - 10 Zeichen enthalten!';        if(!empty($_POST['reg_password']) && (strlen($_POST['reg_password']) > 12 || strlen($_POST['reg_password']) < 6))            $errors[] = 'Dein Passwort muss 6 - 12 Zeichen enthalten!';        if((!empty($_POST['reg_password']) && !empty($_POST['reg_confirmpw'])) && $_POST['reg_password'] != $_POST['reg_confirmpw'])            $errors[] = 'Deine Passwort Wiederholung stimmt nicht!';        if(!empty($_POST['reg_email']) && !preg_match('/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/'$_POST['reg_email']))            $errors[] = 'Die E-Mail Adresse ist nicht valide';                if(isset($_POST['reg_submit'])) {            if(count($errors) > 0) {                echo '<div class="fail">';                foreach($errors as $error) {                    echo $error.'<br/>';                }                echo '</div>';            } else {                odbc_exec($mssql'INSERT INTO [dbo].[ACCOUNT_TBL] (account, password, isuse, member, id_no1, id_no2, realname, reload, OldPassword, TempPassword, cash , votepoints) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\''.mssql_escape_string(md5($_CONFIG['pwdsalt'].$_POST['reg_password'])).'\', N\'T\', N\'A\', NULL, 0, N\'P\', NULL, 0, NULL, 0, 0)');                odbc_exec($mssql'INSERT INTO [dbo].[ACCOUNT_TBL_DETAIL] (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, secession, email) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\'A000\', N\'2\', N\'F\', \''.mssql_escape_string(date('Ymd H:i:s')).'\', N\'20010101\', N\'20990101\', N\'20050101\', N\'O\', NULL, N\''.mssql_escape_string($_POST['reg_email']).'\')');                echo '<div class="success">Dein Account wurde erfolgreich erstellt!</div>';            }        }    ?>    <form method="post">        <table>            <tr>                <td>Benutzername:</td>                <td><input type="text" name="reg_username" maxlength="10" /></td>            </tr>            <tr>                <td>Passwort:</td>                <td><input type="password" name="reg_password" maxlength="11" /></td>            </tr>            <tr>                <td>Wdh. Passwort:</td>                <td><input type="password" name="reg_confirmpw" /></td>            </tr>            <tr>                <td>E-Mail:</td>                <td><input type="text" name="reg_email" /></td>            </tr>        <tr>                <td><img src="./inc/captcha.php" name="captcha" /></td>                                <td><input type="text" name="reg_captcha" maxlength="5" /></td>        </tr>                 <tr>                           <td></td>                           <td><input type="submit" name="reg_submit" value="Account erstellen" /></td>            </tr>        </table>    </form></div>
      wie baue ich jetzt die Captcha abfrage ein?

      Danke
      MfG
      .:Flyff:.

    2. #2
      Premium User
      DDos
       
      Avatar von Cross
      Registriert seit
      Jun 2009
      Ort
      127.0.0.1
      Beiträge
      901
      Danke
      106
      Danke erhalten: 235

      Standard

      zb

      PHP-Code:

      if(!isset($_POST['captcha_eingabe'])
         echo 
      '<h1>Gebe ein captcha ein!!</h1>'
      Da du ja eh alles mit is set abfragst^^

    3. #3
      Es wird!
      Asleep
       
      Avatar von PapaHarni
      Registriert seit
      Jan 2012
      Ort
      H.a.S / NRW / Germany
      Beiträge
      64
      Danke
      1
      Danke erhalten: 6

      Standard

      Zitat Zitat von Cross [Um Links zu sehen registriere dich bitte. Klicke hier.]
      zb

      PHP-Code:

      if(!isset($_POST['captcha_eingabe'])
         echo 
      '<h1>Gebe ein captcha ein!!</h1>'
      Da du ja eh alles mit is set abfragst^^
      Wo ist da das Captcha?
      Mit freundlichem Gruß


    4. #4
      Premium User
      DDos
       
      Avatar von Cross
      Registriert seit
      Jun 2009
      Ort
      127.0.0.1
      Beiträge
      901
      Danke
      106
      Danke erhalten: 235

      Standard

      @Papa ich gehe davon aus da er es schon soweit eigbeaut hat und nur an der überprüfung scheitert (liest sich so raus)

    5. #5
      Es wird!
      Asleep
       
      Avatar von PapaHarni
      Registriert seit
      Jan 2012
      Ort
      H.a.S / NRW / Germany
      Beiträge
      64
      Danke
      1
      Danke erhalten: 6

      Standard

      Selbst dann ist es falsch, da ein Captcha ja aus 2 Teilen besteht.

      Richtig wäre in dem fall :
      PHP-Code:
      if(empty($_POST['reg_captcha']) || md5($_POST['reg_captcha']) != md5($_POST['captcha'])) $errors[] = 'Das Captcha ist nicht oder falsch angegeben.'
      Wobei ich sagen muss das ich bezweifel das dass Captcha so erstellt werden kann :
      PHP-Code:
                      <td><img src="./inc/captcha.php" name="captcha" /></td>
                      <
      td><input type="text" name="reg_captcha" maxlength="5" /></td
      Ich gehe stark von aus das man die captcha.php so ändern muss das man die Captcha Variable erstellen muss und dann im GET an die captcha.php ergeben muss im img und die captcha.php wird dann zum Bild einfach nur. ( Da hilft auch das Script von mir mit dem Bild erstellen , man muss nur die richtigen einstellungen machen ;-) )
      Zumindest mach ich es so. Und erstellen tue ich die Captcha variable immer mit der funktion :
      PHP-Code:
      function createcaptchacode($varlong){
          
      $captcha "";
          
      $pool "qwertzupasdfghkyxcvbnm23456789WERTZUPLKJHGFDSAYXCVBNM";
          
      srand ((double)microtime()*1000000);
          for(
      $i=1;$i<=$varlong;$i++) {
              
      $captcha .= substr($pool,(rand()%(strlen ($pool))), 1);
          }
          return 
      $captcha;

      Dann sieht mein Script so aus :
      PHP-Code:
      <?php
      function createcaptcha($varlong){
          
      $captcha "";
          
      $pool "qwertzupasdfghkyxcvbnm23456789WERTZUPLKJHGFDSAYXCVBNM";
          
      srand ((double)microtime()*1000000);
          for(
      $i=1;$i<=$varlong;$i++) {
              
      $captcha .= substr($pool,(rand()%(strlen ($pool))), 1);
          }
          return 
      $captcha;
      }
      $cre_captcha createcaptcha('10');
      ?>
      <h1>Registration</h1>
      <div class="site">
          <?php
              
      if(!isset($_POST['reg_username'])) $_POST['reg_username'] = '';
              if(!isset(
      $_POST['reg_email'])) $_POST['reg_email'] = '';
              
      odbc_exec($mssql'USE [ACCOUNT_DBF]');
              
      $checkacc odbc_exec($mssql'SELECT COUNT(*) as count FROM [ACCOUNT_TBL] WHERE account=\''.mssql_escape_string($_POST['reg_username']).'\'');
              
      $checkmail odbc_exec($mssql'SELECT COUNT(*) as count FROM [ACCOUNT_TBL_DETAIL] WHERE email=\''.mssql_escape_string($_POST['reg_email']).'\'');
              
      $errors = array();
              if(empty(
      $_POST['reg_username']) || empty($_POST['reg_password']) || empty($_POST['reg_confirmpw']) || empty($_POST['reg_email']) || empty($_POST['reg_check']) || empty($_POST['reg_captcha'])) $errors[] = 'Du musst alle Felder ausf&uuml;llen!';
              if(!empty(
      $_POST['reg_username']) && odbc_result($checkacc'count') > 0$errors[] = 'Der Benutzername existiert bereits!';
              if(!empty(
      $_POST['reg_email']) && odbc_result($checkmail'count') > 0$errors[] = 'Die E-Mail Adresse existiert bereits!';
              if(!empty(
      $_POST['reg_username']) && (strlen($_POST['reg_username']) > 10 || strlen($_POST['reg_username']) < 4)) $errors[] = 'Dein Benutzername muss 4 - 10 Zeichen enthalten!';
              if(!empty(
      $_POST['reg_password']) && (strlen($_POST['reg_password']) > 12 || strlen($_POST['reg_password']) < 6)) $errors[] = 'Dein Passwort muss 6 - 12 Zeichen enthalten!';
              if((!empty(
      $_POST['reg_password']) && !empty($_POST['reg_confirmpw'])) && $_POST['reg_password'] != $_POST['reg_confirmpw']) $errors[] = 'Deine Passwort Wiederholung stimmt nicht!';
              if(!empty(
      $_POST['reg_email']) && !preg_match('/^[a-zA-Z0-9-_.]+@[a-zA-Z0-9-_.]+\.[a-zA-Z]{2,4}$/'$_POST['reg_email'])) $errors[] = 'Die E-Mail Adresse ist nicht valide';
              if(!empty(
      $_POST['reg_captcha']) || md5($_POST['reg_captcha']) != md5($_POST['captcha'])) $errors[] = 'Das Captcha ist nicht oder falsch angegeben.'//Hier einfach abfragen
              
      if(isset($_POST['reg_submit'])) {
                  if(
      count($errors) > 0) {
                      echo 
      '<div class="fail">';
                          foreach(
      $errors as $error) {
                              echo 
      $error.'<br/>';
                          }
                      echo 
      '</div>';
                  } else {
                      
      odbc_exec($mssql'INSERT INTO [dbo].[ACCOUNT_TBL] (account, password, isuse, member, id_no1, id_no2, realname, reload, OldPassword, TempPassword, cash , votepoints) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\''.mssql_escape_string(md5($_CONFIG['pwdsalt'].$_POST['reg_password'])).'\', N\'T\', N\'A\', NULL, 0, N\'P\', NULL, 0, NULL, 0, 0)');
                      
      odbc_exec($mssql'INSERT INTO [dbo].[ACCOUNT_TBL_DETAIL] (account, gamecode, tester, m_chLoginAuthority, regdate, BlockTime, EndTime, WebTime, isuse, secession, email) VALUES (N\''.mssql_escape_string($_POST['reg_username']).'\', N\'A000\', N\'2\', N\'F\', \''.mssql_escape_string(date('Ymd H:i:s')).'\', N\'20010101\', N\'20990101\', N\'20050101\', N\'O\', NULL, N\''.mssql_escape_string($_POST['reg_email']).'\')');
                      echo 
      '<div class="success">Dein Account wurde erfolgreich erstellt!</div>';
                  }
              }
          
      ?>
          <form method="post">
              <table>
                  <tr>
                      <td>Benutzername:</td>
                      <td><input type="text" name="reg_username" maxlength="10" /></td>
                  </tr>
                  <tr>
                      <td>Passwort:</td>
                      <td><input type="password" name="reg_password" maxlength="11" /></td>
                  </tr>
                  <tr>
                      <td>Wdh. Passwort:</td>
                      <td><input type="password" name="reg_confirmpw" /></td>
                  </tr>
                  <tr>
                      <td>E-Mail:</td>
                      <td><input type="text" name="reg_email" /></td>
                  </tr>
                  <tr>
                      <td><img src="./inc/captcha.php?cap=<?php echo $cre_captcha?>" /><input type="hidden" name="captcha" value="<?php echo $cre_captcha?>" /></td>
                      <td><input type="text" name="reg_captcha" maxlength="10" /></td>
                  </tr>
                  <tr>
                      <td></td>
                      <td><input type="submit" name="reg_submit" value="Account erstellen" /></td>
                  </tr>
              </table>
          </form>
      </div>

      Jetzt fehlt nur noch die passende Captcha.php ^^
      Und diese schaut zB so aus :
      PHP-Code:
      <?php

      header 
      ("Content-type: image/png");

      $text $_GET['cap'];
      $im_width '120';
      $im_height '17';
      $text_size '5';

      $im imagecreate ($im_width,$im_height);
      $background_color ImageColorAllocate ($im000);
      $text_color ImageColorAllocate ($im21716570);
      ImageString($im,$text_size,'7','1',$text,$text_color);
      ImagePNG ($im);

      ?>
      Mit freundlichem Gruß


    6. #6
      Core Freak!
       
      Avatar von Dancex3
      Registriert seit
      May 2010
      Ort
      Daheim <:
      Beiträge
      1,375
      Danke
      170
      Danke erhalten: 211

      Standard

      Und so siehts bei mir aus:
      Captcha.php
      PHP-Code:
      <?php
         session_start
      ();
         unset(
      $_SESSION['captcha_spam']);

         function 
      randomString($len) {
            function 
      make_seed(){
               list(
      $usec $sec) = explode (' 'microtime());
               return (float) 
      $sec + ((float) $usec 100000);
            }
            
      srand(make_seed());  
                             
            
      //Der String $possible enthält alle Zeichen, die verwendet werden sollen
            
      $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
            
      $str="";
            while(
      strlen($str)<$len) {
              
      $str.=substr($possible,(rand()%(strlen($possible))),1);
            }
         return(
      $str);
         }

         
      $text randomString(5);  //Die Zahl bestimmt die Anzahl stellen
         
      $_SESSION['captcha_spam'] = $text;
               
         
      $img ImageCreateFromPNG('../images/captcha.png'); //Backgroundimage
         
      $color ImageColorAllocate($img000); //Farbe
         
      $ttf $_SERVER['DOCUMENT_ROOT']."./captcha/ARIAL.TTF"//Schriftart
         
      $ttfsize 11//Schriftgrösse
         
      $angle rand(0,5);
         
      $t_x rand(1,8);
         
      $t_y 14;
         
      imagettftext($img$ttfsize$angle$t_x$t_y$color$ttf$text);
         
      header('Content-type: image/png');
         
      imagejpeg($img);
         
      imagedestroy($img);
      ?>
      PHP-Code:
      <img src="captcha/captcha.php" border="0" title="Sicherheitscode">
      <
      input name="Sicherheitscode" type="text" maxlength="5" /> 
      dazu die abfrage noch:
      PHP-Code:
       if($_POST['Sicherheitscode'] != $_SESSION['captcha_spam']){
      $error "bblabla code falsch blabla";


      fertig.

    7. #7
      Es wird!
      Asleep
       
      Avatar von PapaHarni
      Registriert seit
      Jan 2012
      Ort
      H.a.S / NRW / Germany
      Beiträge
      64
      Danke
      1
      Danke erhalten: 6

      Standard

      Zitat Zitat von Dancex3 [Um Links zu sehen registriere dich bitte. Klicke hier.]
      Und so siehts bei mir aus:
      Captcha.php
      PHP-Code:
      <?php
         session_start
      ();
         unset(
      $_SESSION['captcha_spam']);

         function 
      randomString($len) {
            function 
      make_seed(){
               list(
      $usec $sec) = explode (' 'microtime());
               return (float) 
      $sec + ((float) $usec 100000);
            }
            
      srand(make_seed());  
                             
            
      //Der String $possible enthält alle Zeichen, die verwendet werden sollen
            
      $possible="ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789";
            
      $str="";
            while(
      strlen($str)<$len) {
              
      $str.=substr($possible,(rand()%(strlen($possible))),1);
            }
         return(
      $str);
         }

         
      $text randomString(5);  //Die Zahl bestimmt die Anzahl stellen
         
      $_SESSION['captcha_spam'] = $text;
               
         
      $img ImageCreateFromPNG('../images/captcha.png'); //Backgroundimage
         
      $color ImageColorAllocate($img000); //Farbe
         
      $ttf $_SERVER['DOCUMENT_ROOT']."./captcha/ARIAL.TTF"//Schriftart
         
      $ttfsize 11//Schriftgrösse
         
      $angle rand(0,5);
         
      $t_x rand(1,8);
         
      $t_y 14;
         
      imagettftext($img$ttfsize$angle$t_x$t_y$color$ttf$text);
         
      header('Content-type: image/png');
         
      imagejpeg($img);
         
      imagedestroy($img);
      ?>
      PHP-Code:
      <img src="captcha/captcha.php" border="0" title="Sicherheitscode">
      <
      input name="Sicherheitscode" type="text" maxlength="5" /> 
      dazu die abfrage noch:
      PHP-Code:
       if($_POST['Sicherheitscode'] != $_SESSION['captcha_spam']){
      $error "bblabla code falsch blabla";


      fertig.
      Du hast schon gemerkt das dem sein Ausschnitt bereits included wird nur? Somit ist es zumindest an dieser Stelle nicht mehr möglich eine Session zu starten ;-)

      Also muss das session_start(); in die index.php oder welche Datei die Hauptdatei auch immer ist ganz oben herein. Sonst kann keine Session im Script abgerufen werden.

      Und wirklich sinnig ist es auch nicht hier an der Stelle mit Session zu arbeiten. Extra dafür eine Session starten wenn man ohne arbeitet? Dann lieber über POST. Da kann auch keiner rein fuschen.
      Mit freundlichem Gruß


    8. #8
      Es wird!
      Asleep
       
      Avatar von PapaHarni
      Registriert seit
      Jan 2012
      Ort
      H.a.S / NRW / Germany
      Beiträge
      64
      Danke
      1
      Danke erhalten: 6

      Standard

      Antwort ob und wie es Funktioniert, sind immer Herzlich Willkommen @ Themen Starter
      Mit freundlichem Gruß


    Lesezeichen

    Berechtigungen

    • Neue Themen erstellen: Nein
    • Themen beantworten: Nein
    • Anhänge hochladen: Nein
    • Beiträge bearbeiten: Nein
    •