Frage zum LoginScript

proloser

Erfahrenes Mitglied
Hallo,

ich habe eine Frage zum LoginScript von den Tutorials!
Was bringt das "Nikname LIKE" ?

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

MfG proloser
 
Das ist mir klar aber was bringt es in dem Script, weil man sollte sich doch nur einloggen können wenn der Nickname genau gleich ist wie vorgegeben oder nicht?

Ich bin mir sicher damit es nicht falsch ist aber ich versteh es einfach nicht :)
 
Zuletzt bearbeitet:
Wie ich bereits bemerkte, kann – werden keine Metazeichen im Suchmuster benutzt werden – auch ein einfacher Vergleichsoperator genommen werden.
 
Und noch eine Frage: Beim LoginScript wird ja nur abgefragt ob in der Session eine user_id gesetzt wurde!

Eine Session kann doch theoretisch manipuliert werden oder?
(Wieder mal etwas was ich gar nicht versteh *g*)

PHP:
<?php  
session_start ();  
if (!isset ($_SESSION["user_id"]))  
{  
  header ("Location: formular.php");  
}  
?>
 
Sitzungsdaten können nur serverseitig verändert werden. Deshalb musst du dafür sorgen, dass alle vom Benutzer manipulierbaren Daten, die in der Sitzung gespeichert werden sollen, vorher validiert werden. Es ist also von außen nicht möglich, einfach die $_SESSION['foo']-Variable zu verändern/setzen, gibt es nicht irgendwo ein
Code:
$_SESSION['foo'] = $_GET['bar'];   // oder
$_SESSION['foo'] = $_POST['bar'];  // oder
…
beziehungsweise ein
Code:
$_SESSION[$_GET['foo']]  = …;  // oder
$_SESSION[$_POST['foo']] = …;  // oder
…
 
Und warm sollte man dann das Passwort nicht in einer Session speichern? ( Letzte dumme frage :) )

Ich kann mir vorstellen damit die Session gelesen aber nicht verändert werden kann :confused:

Und das bitte noch auf "deutsch" damit es ein normal Sterblicher auch versteht ^^
Deshalb musst du dafür sorgen, dass alle vom Benutzer manipulierbaren Daten, die in der Sitzung gespeichert werden sollen, vorher validiert werden.
 
Zuletzt bearbeitet:
Zwar sind Sitzungsdaten nicht direkt veränderbar, aber Sitzungen können unter anderem entführt werden (siehe Session Hijacking). Deshalb sollten sensible Daten nicht in Sitzungen gespeichert werden.

Der Begriff Validierung beschreibt übrigens den Vorgang der Kontrolle von Werten gegenüber der Menge der erwarteten/erlaubten Werte. Wenn also irgendwo nur Integerwerte erlaubt sind, sollte eine Zeichenkette eine Fehlermeldung verursachen beziehungsweise in einen Integerwert umgewandelt werden.
 

Neue Beiträge

Zurück