ERLEDIGT
NEIN
NEIN
ANTWORTEN
25
25
ZUGRIFFE
749
749
EMPFEHLEN
-
ja war warscheinlich nen flüchtigkeitsfehler von meinem Vorschreiber:
Ander die Zeile mal in das hier:
PHP-Code:if (!isset($data2) || !isset($data2['Ziel']) )
-
Viva la Forum ! Es hat geklappt !
Leute, Ihr seid alle meine Helden ! Ganz große Klasse !
Vielen Vielen Dank !
-
Nee, war absolut richtig was 'marvinlol' geschrieben hat. Ich habs ja gerade ausprobiert. Echt geil
-
09.01.10 14:54 #19
- 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 ;-)
-
09.01.10 19:40 #20XY ungelöst Tutorials.de Gastzugang
Änder das mal so ab:
Da fehlt ein "]".
PHP-Code:
if (!isset($data2) || !isset($data2['Ziel']) )
-
09.01.10 19:42 #21xy ungelöst Tutorials.de Gastzugang
@saftmeister: habe das selbe Problem!
-
10.01.10 06:40 #22
- 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.
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.PHP-Code:$name = preg_replace( "/[^a-z0-9äöüßÄÖÜ \-]/im", "", $_POST['name'] );
$pwd = preg_replace( "/[^a-z0-9]/im", "", $_POST['pwd'] );
Think Different.
-
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:
Fehlermeldung dazu: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");
}
?>
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 !
-
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
-
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 !?
-
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
-
Login-Skript erweitern
Von Kaeschdin im Forum PHPAntworten: 9Letzter Beitrag: 01.09.08, 09:32 -
[Suche] Login-Skript
Von Miraculixx im Forum PHPAntworten: 3Letzter Beitrag: 11.08.06, 12:57 -
Login-Skript für Flash
Von corona im Forum Flash PlattformAntworten: 3Letzter Beitrag: 29.10.05, 23:55 -
[Login-Skript] Groß-/Kleinschreibung
Von Majuz im Forum PHPAntworten: 5Letzter Beitrag: 25.01.05, 20:08 -
login skript in html
Von zubidiru im Forum HTML & XHTMLAntworten: 6Letzter Beitrag: 22.06.04, 18:13





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren