Jetzt kostenlos Anmelden!

Mr.TDI Männlich

ist gerade angekommen

Beiträge: 42

Geschlecht: Männlich

Wohnort: Stuttgart

PHPKIT Version: 1.6.5

1

Samstag, 26. März 2011, 17:30

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

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 :thumbsup:
Der frühe Vogel fängt den Wurm,aber nur die zweite Maus bekommt den Käse :thumbsup:
  • Zum Seitenanfang
  • Zum Seitenende

reddevil82 Männlich

BFM Stream Cheffe

Beiträge: 1 712

Geschlecht: Männlich

PHPKIT Version: 1.6.5

2

Samstag, 26. März 2011, 20:56

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.

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.
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

3

Samstag, 26. März 2011, 23:04

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?

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
:thumbsup:    :thumbsup:       *tc*       :thumbsup:    :thumbsup:
8o           Achtung: Dirk Kántor ist unterwegs!           8o
Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben.
  • Zum Seitenanfang
  • Zum Seitenende

Mr.TDI Männlich

ist gerade angekommen

Beiträge: 42

Geschlecht: Männlich

Wohnort: Stuttgart

PHPKIT Version: 1.6.5

4

Sonntag, 27. März 2011, 06:35

Hi zusammen
Also da hat sich bei mir eine ECHO anweisung bei der Banner abfrage eingeschlichen ;) jetzt funktioniert es.

Was die Sicherheit angeht -> THX für jeden Hinweis :thumbsup:

gruß TDI
Der frühe Vogel fängt den Wurm,aber nur die zweite Maus bekommt den Käse :thumbsup:
  • Zum Seitenanfang
  • Zum Seitenende

reddevil82 Männlich

BFM Stream Cheffe

Beiträge: 1 712

Geschlecht: Männlich

PHPKIT Version: 1.6.5

5

Sonntag, 27. März 2011, 18:26

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.
  • Zum Seitenanfang
  • Zum Seitenende

Dirk Kántor Männlich

aká Dooki

Beiträge: 2 074

Geschlecht: Männlich

PHPKIT Version: keine

6

Montag, 28. März 2011, 22:14

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 ;)
:thumbsup:    :thumbsup:       *tc*       :thumbsup:    :thumbsup:
8o           Achtung: Dirk Kántor ist unterwegs!           8o
Er verteilt gerne Verwarnungen ohne vorher darüber diskutiert zu haben.
  • Zum Seitenanfang
  • Zum Seitenende

reddevil82 Männlich

BFM Stream Cheffe

Beiträge: 1 712

Geschlecht: Männlich

PHPKIT Version: 1.6.5

7

Montag, 28. März 2011, 23:10

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.
  • Zum Seitenanfang
  • Zum Seitenende

Mr.TDI Männlich

ist gerade angekommen

Beiträge: 42

Geschlecht: Männlich

Wohnort: Stuttgart

PHPKIT Version: 1.6.5

8

Dienstag, 29. März 2011, 11:05

THX Jungs werde mir die ratschläge zu Herzen nehmen. :thumbsup:
Der frühe Vogel fängt den Wurm,aber nur die zweite Maus bekommt den Käse :thumbsup:
  • Zum Seitenanfang
  • Zum Seitenende