cookies werden selbsständig erstellt ?!
phillip
- php
hallo!
ich habe ein realativ großes problem:
also ich benutze auf meiner seite cookies...folgendermaßen werden sie erstellt:
Code:
setcookie ("user_id", $row["id"], time()+"$cookie_expire");setcookie ("user_nick", $row["nick"], time()+"$cookie_expire");setcookie ("user_password", $row["password"], time()+"$cookie_expire");setcookie ("user_is_admin", $row["is_admin"], time()+"$cookie_expire");
bei mir selber funktioniert das auch wunderbar, doch es gibt besucher, die sind sofort, wenn sie auf die seite gehen automatisch eingeloggt. und zwar als xxx. es werden bei denen also alle cookies selbstständig erstellt und jeweils mit xxx gefüllt. das is natürlich eine große sicherheitslücke.... doch ich weiss nicht was ich ändern muss/könnte
ich hoffe mir kann jemand von euch helfen...
vielen dank,
phillip
hi,
erstmal musst du feststellen, wo die "xxx" herkommen. dann suchst du jede stelle, wo cookies geschrieben werden und lässt dir mal alle variablen auf dem schirm ausgeben.
dann kannst du exakt sagen, wo diese werte geschrieben sind.
sinnvoll auch, wenn du solcvhe werte in eine logdatei schreiebn lässt, damit du auch die daten von anderen besuchern einsehen kannst
Hi,
also ich benutze auf meiner seite cookies...
auf welcher Seite?
setcookie ("user_id", $row["id"], time()+"$cookie_expire");setcookie ("user_nick", $row["nick"], time()+"$cookie_expire");setcookie ("user_password", $row["password"], time()+"$cookie_expire");setcookie ("user_is_admin", $row["is_admin"], time()+"$cookie_expire");
sprich: dein gesamtes Sicherheitssystem basiert auf der Zuverlässigkeit von Cookies?
es werden bei denen also alle cookies selbstständig erstellt und jeweils mit xxx gefüllt.
$row ist doch bestimmt das Ergebnis einer Datenbankabfrage. Wann wird die Datenbankabfrage ausgeführt? Mit welchem Befehl? Wann wird das Setzen der Cookies durchgeführt? Welche Bedingungen existieren vorher?
E7
$row ist doch bestimmt das Ergebnis einer Datenbankabfrage. Wann wird die Datenbankabfrage ausgeführt? Mit welchem Befehl? Wann wird das Setzen der Cookies durchgeführt? Welche Bedingungen existieren vorher?
index.php:
<form action="index.php?section=user&action=login" method="post">
<input class="login" onfocus="if(this.value=='Name'){this.value=''};this.form.item.value=document.forms[0].elements['item'].value;" onblur="if(this.value==''){this.value='Name'};" name="nick" type="text" size="5" value="Name">
<input class="login" onFocus="if(this.value=='12345'){this.value=''};this.form.item.value=document.forms[0].elements['item'].value;" onBlur="if(this.value==''){this.value='12345'};" name="password" size="5" type="password" value="12345">
<input class="login" name="login" type="submit" value="Login">
</form>
user.php:
if ($action == "login")
{
$out = mysql_query("SELECT * FROM ".$table_prefix."user WHERE nick='".$nick."'");
$row = mysql_fetch_array($out);
if ($nick == $row["nick"] && $password == $row["password"])
{
setcookie ("user_id", $row["id"], time()+"$cookie_expire");
setcookie ("user_nick", $row["nick"], time()+"$cookie_expire");
setcookie ("user_password", $row["password"], time()+"$cookie_expire");
setcookie ("user_is_admin", $row["is_admin"], time()+"$cookie_expire");
header("Location: index.php?section=news&msg=10");
}
else
{
header("Location: index.php?section=usercenter&msg=1");
}
}
hmm ist das so unsicher ?..ich hoffe ihr habt gute tips für mich...
vieln dank,
phillip
Hi,
soweit ich das sehe, stützt sich die ganze Sicherheit deiner Seite auf der Annahme, dass Cookies allein von deinem PHP-Script gesetzt werden können.
Nehmen wir an, ich setze mir selbst ein Cookie für deine Domain, das user_is_admin heißt und eine 1 oder sonst was enthält - dann hab ich doch theoretisch Zugriff auf alle deine Daten?
E7