ist gerade angekommen
setcookies() aber wie ?
Hallo alle miteinander folgendes problemchen beschäftigt mich und zwar versuche Ich gerade ein LOGIN Script zu schreiben wo eine eindeutige ID in einem COOKIE gespeichert werden soll ( md5(uniqid(rand())); ) .
Folgender fehler tritt dabei immer auf:
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/xxx/xxx/xxx/xxx.inc.php:12) in /www/htdocs/xxx/xxx.php on line 23
gruss TDI
Folgender fehler tritt dabei immer auf:
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/xxx/xxx/xxx/xxx.inc.php:12) in /www/htdocs/xxx/xxx.php on line 23
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
<?php
if (isset($_POST["login"])){
$abfrage = "SELECT * FROM benutzer_daten WHERE benutzer_name LIKE '$_POST[benutzer_name]' LIMIT 1";
$ergebnis = mysql_fetch_array(mysql_query($abfrage));{
$reg_id = $ergebnis['benutzer_id'];
$reg_name = $ergebnis['benutzer_name'];
$reg_pw = $ergebnis['benutzer_pw'];
$reg_name = trim(htmlentities(stripslashes($reg_name)));
$reg_pw = trim(htmlentities(stripslashes($reg_pw)));
if( isset($_POST["benutzer_name"]) == $reg_name && md5($_POST["benutzer_pw"]) == $reg_pw) {
$md5_uid = md5(uniqid(rand()));
$aendern = "UPDATE benutzer_daten Set benutzer_uid = '$md5_uid'
WHERE benutzer_id = '$reg_id'";
$update = mysql_query($aendern);
setcookie("neuesprojekt" , $md5_uid , time() + 300);
$message_io = "Willkommen $reg_name";
}else{
$message_nio = "Zugriff verweigert !";
}
}
}
echo"
<div align='center'>
<form method='post' action='?php=login'>
<table border='0' width='200' cellpadding='3' cellspacing='3' >
<tr>
<td style='text-align:left' width='50'>Name</td>
<td width='250'>
<div align='center'><input type='text' name='benutzer_name' value='' /></div>
</td>
</tr>
<tr>
<td style='text-align:left' width='50'>Passwort</td>
<td width='250'>
<div align='center'><input type='password' name='benutzer_pw' value='' /></div>
</td>
</tr>
<tr>
<td style='text-align:center'>
<input type='submit' name='login' value='Anmelden' />
</td>
</tr>
</table>
</form>
</div>
<span style='color:#000000'>$message_io </span>
<span style='color:#8c0000'>$message_nio</span>
";
?>
|
gruss TDI
Der frühe Vogel fängt den Wurm,aber nur die zweite Maus bekommt den Käse
Das dieses Script sehr unsicher ist ist dir aber bewusst?
Es wird irgendwo eine Ausgabe vor dem setcookie scheinbar gesetzt. Du kannst mal testweise versuche dies weiter oben an Anfang der php Datei zu setzen.
Es wird irgendwo eine Ausgabe vor dem setcookie scheinbar gesetzt. Du kannst mal testweise versuche dies weiter oben an Anfang der php Datei zu setzen.
|
|
PHP-Quelltext |
1 2 3 4 |
<?php
setcookie("neuesprojekt" , md5(uniqid(rand())) , time() + 300);
.......
?>
|
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Wenn du nicht alles mit deinen x'en verschleiern würdest, könnte man dir ggf. besser helfen..
diese inc.php an zeile 12 sieht wie aus? +-3 zeilen
dort gibt es eine übergabe an den browser.. wodurch er das cookie an deiner stellen nicht mehr setzen kann
@red muss er nun extra nachfragen was unsicher ist?
ändern in: (wenigstens so..)
ich rate aber ehr dazu:
http://de.php.net/manual/en/function.mys…cape-string.php
diese inc.php an zeile 12 sieht wie aus? +-3 zeilen
dort gibt es eine übergabe an den browser.. wodurch er das cookie an deiner stellen nicht mehr setzen kann
@red muss er nun extra nachfragen was unsicher ist?
|
|
PHP-Quelltext |
1 |
$abfrage = "SELECT * FROM benutzer_daten WHERE benutzer_name LIKE '$_POST[benutzer_name]' LIMIT 1";
|
ändern in: (wenigstens so..)
|
|
PHP-Quelltext |
1 |
$abfrage = "SELECT * FROM benutzer_daten WHERE benutzer_name LIKE '".addslashes($_POST['benutzer_name'])."' LIMIT 1";
|
ich rate aber ehr dazu:
http://de.php.net/manual/en/function.mys…cape-string.php
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
|
|
PHP-Quelltext |
1 2 |
$aendern = "UPDATE benutzer_daten Set benutzer_uid = '$md5_uid'
WHERE benutzer_id = '$reg_id'";
|
in
|
|
PHP-Quelltext |
1 2 |
$aendern = "UPDATE benutzer_daten Set benutzer_uid = '$md5_uid'
WHERE benutzer_id = 'intval($reg_id)'";
|
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
|
|
PHP-Quelltext |
1 2 |
$aendern = "UPDATE benutzer_daten Set benutzer_uid = '$md5_uid'
WHERE benutzer_id = '".intval($reg_id)."'";
|
wenn dann so..

Aber dort kommt die übergabe der $reg_id aus der zuvor stammenden SQL Abfrage.. diese Stelle sollte ohne angabe von intval() oder sonstigem auch sicher sein
|
Achtung: Dirk Kántor ist unterwegs! Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben. |
Och menno... Ich mache heute ja alles falsch *fg*
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Ähnliche Themen
-
Aktuelle Version [1.6.5] »-
Style white rounded
(29. Januar 2010, 16:05)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
latest_threads.php
(2. Januar 2008, 10:02)
-
alte Versionen [1.6.03|1.6.1|1.6.4] »-
Referer Links Blocken
(2. Januar 2008, 15:55)
-
Web | Allgemein »-
Bilder verzerren
(2. Januar 2008, 12:27)


