[Java] Einloggen auf Website

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von bigD, 2. April 2007 .

  1. 2. April 2007
    Login auf Website

    Hi, ich hab mal ne frage,
    kann mir jemand sagen, wie ich sowas in MS Frontpage machen kann?

    BW is für jeden sinnvollen BEitrag drin!
     
  2. 2. April 2007
    AW: Login auf Website

    Hier mal der Code von der Website
    für die Bilder musste dir die eben
    runterladen(Mit rechtsklick)
    Code:
    <input name="username" size="15" style="border: 1px outset rgb(0, 0, 50); color: rgb(45, 45, 45); font-size: 7pt; font-family: Verdana; background-color: rgb(244, 244, 244);" value=" Username" onFocus="this.value=''" type="text">
    <input name="password" size="15" style="border: 1px outset rgb(0, 0, 50); color: rgb(45, 45, 45); font-size: 7pt; font-family: Verdana; background-color: rgb(244, 244, 244);" value="Passwort" onFocus="this.value=''" type="password">
    <img src="index-Dateien/4p_button_pfeil.gif" border="0">
    <img src="index-Dateien/4p_button_reg.gif" border="0">
    MFG naitsgang
     
  3. 3. April 2007
    AW: Login auf Website

    Okay, BW haste erstmal, aber wie geht das, wenn man das richtige passwort eingibt, dass man dann in den userbereich kommt??
     
  4. 3. April 2007
    AW: Login auf Website

    Kannst du PHP und kommst du mit MySQL-Datenbanken klar?

    Weil wenn nicht wirste das wohl eher schwer machen können ausser auf sehr unsicherer Basis

    naja also erstma die Frage ob du mit den 2 Sachen klar kommst
     
  5. 3. April 2007
    AW: Login auf Website

    Ne, leider beides nicht. Braucht man da auch bestimmte codes oder?? Kannst mir mal ein Beispiel geben??

    BW haste
     
  6. 3. April 2007
    AW: Login auf Website

    Ja also das Problem ist das du nichts von dem Code verstehen wirst wenn ich dir da jetzt einfach nen Login aufn Tisch klatsche....

    Daher würde ich dir eher empfehlen php-resource.de mal zu lesen
     
  7. 3. April 2007
    AW: Login auf Website

    Danke, ich habs mal kurz überflogen, aber das ganze is ja wirklich brutal kompliziert. Mal schaun, ob ich das ganze mach oder ob ich einfach die ganze Seite mit htaccess schütz...is einfacher
     
  8. 3. April 2007
    AW: Login auf Website

    wenn du keine registrierung brauchst, kannst du auch nen ganz einfachen login machen
    auch dieses script wirst du höchst wahrscheinlich nicht verstehen, aber es sollte funkionieren
    user anlegen kannst du oben, die beiden HTML Codes kannst du bearbeiten wie du willst
    aber PHP in zusammenhang mit MS Frontpage würde ich nicht empfehlen, warte damit bis du ersatz hast
    PHP:
    <? php

    $user_pw 
    = array (
      
    'user'  =>  'password' ,
      
    'user2'  =>  'password2'  // Hier kein komma am ende!
    );

    session_start ();  // Startet eine Session und setzt einen Cookie dafür
    if (!isset( $user_pw [ $_SESSION [ 'user' ]]) ||  $user_pw [ $_SESSION [ 'user' ]] !=  $_SESSION [ 'pass' ]) {
      if (isset(
    $_POST [ 'send' ])) {
        if (isset(
    $user_pw [ $_POST [ 'user' ]]) ||  $user_pw [ $_SESSION [ 'user' ]] !=  $_POST [ 'pass' ]) {
          
    $_POST [ 'user' ] =  $_POST [ 'user' ];  // User und PW speichern
          
    $_SESSION [ 'pass' ] =  $_POST [ 'pass' ];
          
    header  ( "Location: " . $_SERVER [ 'PHP_SELF' ]);
          die ();
        }
      }
    ?>
    Dieser Code kommt, denn man nicht eingeloggt ist
    <form action="<?=$_SERVER [ 'PHP_SELF' ]; ?>" method="POST">
    User: <input type="text" name="user" value="<?=$_POST [ 'user' ]; ?>"><br />
    Passwort: <input type="password" name="pass" value="<?=$_POST [ 'pass' ]; ?>"><br />
    <input type="submit" name="send" value="Einloggen">
    </form>
    <?
      
    die();
    }
    ?>
    Sonstiger HTML Code
     
  9. 3. April 2007
    AW: Login auf Website

    Naja, ich hab ihn mal bei Frontpage eingebaut aber wied du ja schon gesagt hast, hat leider nicht gefunzt! BW haste trotzdem!
     
  10. 3. April 2007
    AW: Login auf Website

    Der ganze login nützt nix wenn
    du dann nicht spezielle Schreib/lese-
    rechte setzen kannst und das ist dann
    noch ein bisschen kmplizierter.
    MFG naitsgang
     
  11. 3. April 2007
    AW: Login auf Website

    So das hab ich mal geschrieben. Ich benutzte eine Mysql-Datenbank und Sessions.
    Hoffentlich hilfts dir was.


    PHP:
    <? php
    require( "./connect.inc.php" );
    if(
    session_is_registered ( 'user_name' ))
    {
        echo 
    '<font class="login_error">Eingeloggt als&nbsp;'  . $_SESSION [ 'user_name' ].  '&nbsp;&nbsp;</font>' ;
    }
    else
    {
    if(!isset(
    $_POST [ 'submit' ])) {  ?>
    <form action="<?php $PHP_SELF ?>" method="post">
      <table width="370" height="40" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="2" background="Bilder/trenn.jpg"></td>
          <td width="150" class="login"><strong>&nbsp;Nick:&nbsp;</strong><input type="text" name="username" size="12" class="input" maxlength="50"<?php  if( $_POST [ 'username' ] !=  ""  ) {echo  ' value="' . $_POST [ 'username' ]. '"' ;}  ?>></td>
          <td width="3" background="Bilder/trenn.jpg"></td>
          <td width="151" class="login"><strong>&nbsp;Pass:&nbsp;</strong><input type="password" name="password" size="12" maxlength="50"class="input"></td>
          <td width="3" background="Bilder/trenn.jpg"></td>
          <td width="61" align="center" valign="middle">      <input name="submit" type="submit" value="ok"></td>
        </tr>
      </table> 
    </form>
    <?php
      
    }elseif(! $_POST [ 'username' ] ||  $_POST [ 'username' ] ==  "" ) {
        echo 
    '<font class="login_error">Benutzername fehlt!&nbsp;&nbsp;<a href="./index.php" class="login_error">Zurück</a></font>&nbsp;&nbsp;' ;
      }elseif(!
    $_POST [ 'password' ] ||  $_POST [ 'password' ] ==  "" ) {
        echo 
    '<font class="login_error">Passwort fehlt!&nbsp;&nbsp;<a href="./index.php" class="login_error">Zurück</a></font>&nbsp;&nbsp;' ;
      }else{    
        
    $password  md5 ( $_POST [ 'password' ]);
        
    $query  = @ mysql_query ( "SELECT user_id, user_name, user_pw FROM user WHERE user_name = '" . $_POST [ 'username' ]. "'" ) or die( 'Select ist fehlgeschlagen!' );
        if(!
    $result  = @ mysql_fetch_array ( $query ))
        {
            echo 
    '<font class="login_error">Dieser Benutzername existiert nicht!&nbsp;&nbsp;<a href="./index.php" class="login_error">Zurück</a></font>&nbsp;&nbsp;' ;
        }
        if(
    $password  !=  $result [ 'user_pw' ]){
          echo 
    '<font class="login_error">Das Passwort ist falsch !&nbsp;&nbsp;<a href="./index.php" class="login_error">Zurück</a></font>&nbsp;&nbsp;' ;
        }else{
          
    $_SESSION [ 'user_name' ] =  $result [ 'user_name' ];
          
    $_SESSION [ 'user_id' ] =  $result [ 'user_id' ];
          
    #session_register('user_name');
          #session_register('user_id');
          
    echo  '<font class="login_error">Eingeloggt als&nbsp;'  . $_SESSION [ 'user_name' ].  '&nbsp;&nbsp;</font>' ;
        }
    }
    }

    ?>
    </body>
    </html>

    Und das bindest du auf jede andere Seite ein die du schützen willst.

    PHP:
    <? php
    include( './header.php' );
    session_start ();
    if(!
    session_is_registered ( 'user_name' ) ||  $_SESSION [ 'user_name' ] ==  "" )
    {
        echo 
    '<p align="center">Du musst dich vorher registrieren und anmelden!<br><br><a href="./index.php">Zurück</a></p>' ;
        include(
    './footer.php' );
        die;
        
        
    }
     
  12. 3. April 2007
    AW: Login auf Website

    Danke, aber wenn ich den Code ins HTML Fenster einbau, dann schreibt er statt < und > und " immer was anderes. Und bis ich das ganze ausgebessetrt hab, das dauert ewig! Trotzdem werd ich mal Weiterprobieren!
    Thx, BW haste!
     
  13. 29. August 2010
    Einloggen auf Website

    Versuche über HttpClient von Apache mich auf einer Website einzuloggen.
    Erhalte die Fehlermeldung: Login form post: HTTP/1.1 302 Found

    Was mich wundert ist auch, dass wenn ich in die post Methode bspw. ein falsches Passwort reinschreibe, dann "funktionierts", ich bekomm dann Statuscode 200 zurück.
    Beim richtigen Kennwort erhalte ich immer 302.

    Habe auch eine Analyse mit LiveHttpHeaders gemacht, aber leider noch auf kein Ergenis gekommen.


    Code:
    import org.apache.commons.httpclient.*;
    import org.apache.commons.httpclient.cookie.CookiePolicy;
    import org.apache.commons.httpclient.cookie.CookieSpec;
    import org.apache.commons.httpclient.methods.*;
    import org.apache.commons.httpclient.params.HttpClientParams;
    
    /**
     * 
     * 
     * 
     */
    public class test2 {
    
    
     public static void main(String[] args) throws Exception {
    
     HttpClient client = new HttpClient();
     client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
     
     GetMethod authget = new GetMethod("...");
    
     client.executeMethod(authget);
     System.out.println("Login form get: "
     + authget.getStatusLine().toString());
     // release any connection resources used by the method
     authget.releaseConnection();
     // See if we got any cookies
     Cookie[] initcookies = client.getState().getCookies();
     System.out.println("Initial set of cookies:"); 
     
     if (initcookies.length == 0) {
     System.out.println("None"); 
     } else {
     for (int i = 0; i < initcookies.length; i++) {
     System.out.println("- " + initcookies[i].toString()); 
     }
     }
    
     PostMethod authpost = new PostMethod("...");
    
     NameValuePair a = new NameValuePair("username", "...");
     NameValuePair b = new NameValuePair("passwd", "...");
     NameValuePair d = new NameValuePair("target", "...");
    
     authpost.setRequestBody(new NameValuePair[] { a, b, d });
    
     
     client.executeMethod(authpost);
     System.out.println("Login form post: "
     + authpost.getStatusLine().toString());
    
     System.out.println(authpost.getResponseBodyAsString());
     // release any connection resources used by the method
     authpost.releaseConnection();
     
     initcookies = client.getState().getCookies();
     System.out.println("Initial set of cookies:"); 
     if (initcookies.length == 0) {
     System.out.println("None"); 
     } else {
     for (int i = 0; i < initcookies.length; i++) {
     System.out.println("- " + initcookies[i].toString()); 
     }
     }
     
     String redirectLocation = null;
     Header locationHeader = authpost.getResponseHeader("location");
     if (locationHeader != null) {
     redirectLocation = locationHeader.getValue();
     System.out.println("Location:" + redirectLocation);
     } else { // The response is
     // invalid and did not provide the new location for // the resource.
     // Report an error or possibly handle the response // like a 404 Not
     // Found error.
     } //
     
    
     
     int statuscode = authpost.getStatusCode();
     if ((statuscode == HttpStatus.SC_MOVED_TEMPORARILY)
     || (statuscode == HttpStatus.SC_MOVED_PERMANENTLY)
     || (statuscode == HttpStatus.SC_SEE_OTHER)
     || (statuscode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
     Header header = authpost.getResponseHeader("location");
     if (header != null) {
     String newuri = header.getValue();
     if ((newuri == null) || (newuri.equals(""))) {
     newuri = "/";
     }
     // newuri+="index.php";
     System.out.println("Redirect target: " + newuri);
     GetMethod redirect = new GetMethod(newuri);
    
     client.executeMethod(redirect);
     // System.out.println(neu.getResponseBodyAsString());
     System.out.println("Redirect: "
     + redirect.getStatusLine().toString());
     // System.out.println(redirect.getResponseBodyAsString());
     // release any connection resources used by the method
     redirect.releaseConnection();
     } else {
     System.out.println("Invalid redirect");
     System.exit(1);
     }
     
     }
     System.out.println(authpost.getResponseBodyAsString());
     }
    }
     
  14. 1. September 2010
    AW: Einloggen auf Website

    Zu dem, dass beim einloggen mit falschen PW ein 200 OK kommt und mit richtigem PW ein 302:

    Das ist höchstwahrscheinlich auch richtig so!
    Klatsch dir mal Firebug auf deinen Firefox und analysier was passiert wenn du dich mitm Browser einloggst!

    Da siehst du dann die ganzen Requests!

    Bei web.de kommt auch bei erfolgreichem einloggen ein 302 und man wird auf die eigentliche Seite weitergeleitet.
     
  15. 1. September 2010
    AW: Einloggen auf Website

    du bekommst zu deinem "Fehlercode" 302 noch einen redict wo du hingeleitet werden sollst.. den musst du natürlich noch auslesen und die seite aufrufen
     
  16. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.