tutorials.de Buch-Aktion 05/2012
Seite 2 von 2 ErsteErste 12
ERLEDIGT
NEIN
ANTWORTEN
25
ZUGRIFFE
749
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #16
    marvinlol marvinlol ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    114
    ja war warscheinlich nen flüchtigkeitsfehler von meinem Vorschreiber:

    Ander die Zeile mal in das hier:

    PHP-Code:
    if (!isset($data2) || !isset($data2['Ziel']) ) 
     

  2. #17
    userjules userjules ist offline Mitglied Silber
    Registriert seit
    Jan 2010
    Beiträge
    85
    Viva la Forum ! Es hat geklappt !

    Leute, Ihr seid alle meine Helden ! Ganz große Klasse !
    Vielen Vielen Dank !
     

  3. #18
    userjules userjules ist offline Mitglied Silber
    Registriert seit
    Jan 2010
    Beiträge
    85
    Nee, war absolut richtig was 'marvinlol' geschrieben hat. Ich habs ja gerade ausprobiert. Echt geil
     

  4. #19
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Edit: Wieso hab ich die neuen Beiträge nicht gesehn?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #20
    XY ungelöst Tutorials.de Gastzugang
    Änder das mal so ab:

    Da fehlt ein "]".

    PHP-Code:

    if (!isset($data2) || !isset($data2['Ziel']) ) 
     

  6. #21
    xy ungelöst Tutorials.de Gastzugang
    @saftmeister: habe das selbe Problem!
     

  7. #22
    Sprint Sprint ist offline Mitglied Platin
    Registriert seit
    Apr 2004
    Ort
    Die heimliche Hauptstadt des Bieres
    Beiträge
    579
    Hallo userjules,

    ich habe mir das Tutorial mal angesehen und habe einen gravierenden Fehler entdeckt, der das Funktionieren des Scripts zwar nicht beeinträchtigt, aber später, wenn das Programm mal auf die Welt losgelassen wird, große Probleme verursachen kann. Darum solltest du dir angewöhnen JEDES Script, das Eingaben vom Benutzer verarbeitet, entsprechend zu erweitern. Es geht darum, daß die übergebenen Daten völlig ungeprüft verarbeitet werden. Das kann den Zugriff eines Hackers auf die Datenbank ganz einfach machen.
    Darum sollten alle Daten z.B. so gefiltert werden, daß nur noch die Zeichen durchgelassen werden, die auch wirklich erwartet werden.

    PHP-Code:
    $name preg_replace"/[^a-z0-9äöüßÄÖÜ \-]/im"""$_POST['name'] );
    $pwd preg_replace"/[^a-z0-9]/im"""$_POST['pwd'] ); 
    Hiier werden z.B. beim Namen alle Zeichen entfernt, die keine Zahlen, Buchstaben, Leerzeichen oder Bindestrich sind und beim Passwort werden nur Buchstaben und Zahlen ohne Umlaute durchgelassen. In deinem Fall setzt du die beiden Zeilen direkt hinter SESSION_START(); . Außerdem mußt du die beiden $_REQUEST[...] durch $name bzw. $pwd ersetzen. Schon ist dein Script erheblich sicherer. Außerdem solltest du keine $_REQUEST verwenden, da damit sowohl POST als auch GET empfangen werden. Es ist aber sicherer, vor allem bei POST, wenn sichergestellt ist, daß die Daten auch per POST und nicht per GET übergeben wurden.
     
    Think Different.

  8. #23
    userjules userjules ist offline Mitglied Silber
    Registriert seit
    Jan 2010
    Beiträge
    85
    Hallo zusammen,

    ich hab mit Hilfe von Karl Försters Tutorial ein Login-Skript gebaut und mit eurer Hilfe fertiggestellt. Auf dem temporären Server hat es wunderbar funktioniert. Auf dem Server des eigentlichen Hosts funktioniert es aber nicht mehr.
    Die Session wird über die index.php gestartet, welche über ein Formular dann meine login.php aufruft.

    Die login.php sieht folgendermaßen aus:
    PHP-Code:
    <?php
    // Datenbankverbindung aufbauen
    $connectionid mysql_connect ("rdbms.strato.de""U675065""fXgt6vH47");
    if (!
    mysql_select_db ("DB675065"$connectionid))
    {
    die (
    "Keine Verbindung zur Datenbank");
    }

    $sql "SELECT ".
    "Id, Nickname, Nachname, Vorname, Ziel ".
    "FROM ".
    "benutzerdaten ".
    "WHERE ".
    "(Nickname like '".$_REQUEST["name"]."') AND ".
    "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    $result mysql_query ($sql);

    if (
    mysql_num_rows ($result) > 0)
    {
    // Benutzerdaten in ein Array auslesen.
    $data mysql_fetch_array ($result);


    // Sessionvariablen erstellen und registrieren
    $_SESSION["user_id"] = $data["Id"];
    $_SESSION["user_nickname"] = $data["Nickname"];
    $_SESSION["user_nachname"] = $data["Nachname"];
    $_SESSION["user_vorname"] = $data["Vorname"];

    $data2 mysql_fetch_array(mysql_query("SELECT * FROM `benutzerdaten` WHERE `Id` = ' ".$_SESSION["user_id"]." ' "));


    if (!isset(
    $data2) || !isset($data2['Ziel']) )
    {
       echo 
    "Irgendwas ist schief gelaufen, ich weiß nicht wohin ich soll...";
    }
    else
    {
       
    header"Location: " $data2['Ziel'] );
    }  
    }
    else
    {
    header ("Location: index.php?fehler=1");


    ?>
    Fehlermeldung dazu:

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/web2/40/49/52047949/htdocs/boersenreport/login.php:3) in /mnt/web2/40/49/52047949/htdocs/boersenreport/login.php on line 41

    Hat jemand ne Ahnung ?

    Danke euch im Voraus !

    OK, ich Idiot !
    Hab ich doch glatt meine Zugangsdaten für die Datenbank gepostet.
    Vergestt es ! Ist schon geändert !

    ...aber eure Hilfe brauch ich trotzdem !
     

  9. #24
    Avatar von iAZ
    iAZ iAZ ist offline Mitglied Silber
    Registriert seit
    Jul 2008
    Beiträge
    77
    Hi,
    Die Fehlermeldung sagt doch schon alles: du hast irgendwo ein echo etc. vor der Zeile 41... Guck einfach mal durch ob irgendwo ganz am anfang des Scripts (oder der eingebunden Skripte) ein Leerzeichen/Leerzeile ist... (passiert mir manchmal)

    ansonsten seh ich keine Fehler auf anhieb...
     
    Linux is like a tent: no windows, no gates and an Apache inside.
    ______________
    meine Seite
    meine Fotos

  10. #25
    userjules userjules ist offline Mitglied Silber
    Registriert seit
    Jan 2010
    Beiträge
    85
    Cool iAZ,

    das war schonmal erfolgreich. Ich seh jetzt die entsprechende Zielseite, allerdings mit einem ähnlichen Fehler:...

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/web2/40/49/52047949/htdocs/boersenreport/users/adminpers.php:6) in /mnt/web2/40/49/52047949/htdocs/boersenreport/users/checkuser.php on line 11

    Ist bestimmt ein ähnliches Problem !?
     

  11. #26
    Avatar von iAZ
    iAZ iAZ ist offline Mitglied Silber
    Registriert seit
    Jul 2008
    Beiträge
    77
    Jo denk ich schon... also guck am besten mal alle Dateien durch
     
    Linux is like a tent: no windows, no gates and an Apache inside.
    ______________
    meine Seite
    meine Fotos

Ähnliche Themen

  1. Login-Skript erweitern
    Von Kaeschdin im Forum PHP
    Antworten: 9
    Letzter Beitrag: 01.09.08, 09:32
  2. [Suche] Login-Skript
    Von Miraculixx im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.08.06, 12:57
  3. Login-Skript für Flash
    Von corona im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 29.10.05, 23:55
  4. [Login-Skript] Groß-/Kleinschreibung
    Von Majuz im Forum PHP
    Antworten: 5
    Letzter Beitrag: 25.01.05, 20:08
  5. login skript in html
    Von zubidiru im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 22.06.04, 18:13

Stichworte