AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Login per Formular

Ein Thema von Nicolai1234 · begonnen am 24. Nov 2004 · letzter Beitrag vom 29. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Login per Formular

  Alt 24. Nov 2004, 14:39
Es gibt zwar schon einen Thread mit diesem Titel, aber da steht leider nicht das drin, was ich brauche!

Ich möchte für meine Internetseite gerne eine Passwortabfrage einbauen. Momentan habe ich es so gelöst, dass ich folgenden Teil per include an anfang jeder php-datei setze! Wenn das PW richtig ist, dann geht er weiter und wenn es falsch ist, dann öffnen er eben die seite, wo steht, dass es falsch war und führt den restlichen Code nicht mehr aus!
Code:
<? 
if (!isset($_SERVER['PHP_AUTH_USER']) || ($_POST['SeenBefore'] == 1) && ($_POST['OldUser'] == $_SERVER['PHP_AUTH_USER']) && ($_POST['OldPw'] == $_SERVER['PHP_AUTH_PW']))
{
header("WWW-Authenticate: Basic realm=\"Die Neutralen\" ");
header("HTTP/1.0 401 Unauthorized");
}
$db = mysql_pconnect('***.de',"zensur","*****");
$query = "use neutralz";
   if ( !mysql_query($query, $db) )
     die("Die Datenbank existiert nicht.");
function login()
{
$result = mysql_query("SELECT * FROM `od_forum_users` WHERE username='".$_SERVER['PHP_AUTH_USER']."'")or die (mysql_error());
  $anzahl= mysql_num_rows ($result);
for ($i=0;$i<$anzahl;$i++) {
       $row  = mysql_fetch_row ($result);
       if(md5($_SERVER['PHP_AUTH_PW'])==$row[3]) { $ok=1;} else {$ok=0;};
       }
       return $ok;
}
$a = login();
if ($a==0)
{
header("Location: ./finanzministerium.php");
exit;
}
?>
Damit bin ich eigentlich auch zufrieden, nur geht momentan immer dieses "weniger schöne" Windowslogin-Fenster auf, wo man dann seine Daten eingibt! Kann ich es irgendwie so machen, dass ich diese Variablen (also PW und Name) per Formular eingeben lassen kann?
Mit dem Prinzip, dass ich den code mit include jedesmal einfüge, bin ich eigentlich zufrieden! Daran würde ich also gerne nichts ändern!
Vielen Dank im voraus
Nicolai
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 14:48
Das Windoof-Fenster, das aufpoppt, poppt auf, weil du Einen 401 header sendest.

Du müsstest diese Include-Datei so abänderen, dass sie:
Statt 401 und 403 Headern einen Location: sendet,
der dann auf die Seite mit "hahahaha, FALSCHES PASSWORT !!!!!!!!" leitet
die Formularvariablen verwendet
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 14:50
Zitat von jfheins:
die Formularvariablen verwendet
Aber die Daten werden ja vor dem Aufzuf jeder Seite abgefragt! Die Formulardaten, würden mir doch aber beim Aufruf der nächsten Seite "verloren" gehen, oder?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 15:19
Zitat von Nicolai1605:
würden mir doch aber beim Aufruf der nächsten Seite "verloren" gehen, oder?
Sessions
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 15:39
Ich habe das so gemacht, dass ich eine normales HTML-Formular genommen habe und wenn Passwort richtig, dann wird username und passswd in sessionvariablen gespeichert und erspart so das ständige neueinloggen auf jeder Seite oder das stäöndige anfügen von username und passwd an die Links, was nebenbei auch Sicheheitstechnisch besser ist.
Allerdings brauche ich dafür nur eine einzieg php-Datei. Die entsprechenden php-Dateien für die einzelnen Seiten werden dann per include eingebunden. So brauche ich nur eine Datei mit passwortüberprüfung...

ich bin gerade nicht zu Hause, wenn du dich 'ne Stunde gedulden kannst, kann ich dir die indey.php mal senden...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 17:00
Zitat von yankee:
ich bin gerade nicht zu Hause, wenn du dich 'ne Stunde gedulden kannst, kann ich dir die indey.php mal senden...
Gerne
  Mit Zitat antworten Zitat
Benutzerbild von crazynet24
crazynet24

Registriert seit: 15. Sep 2003
Ort: Hamburg
30 Beiträge
 
#7

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 19:09
Zitat von yankee:
Ich habe das so gemacht, dass ich eine normales HTML-Formular genommen habe und wenn Passwort richtig, dann wird username und passswd in sessionvariablen gespeichert und erspart so das ständige neueinloggen auf jeder Seite oder das stäöndige anfügen von username und passwd an die Links, was nebenbei auch Sicheheitstechnisch besser ist.
Allerdings brauche ich dafür nur eine einzieg php-Datei. Die entsprechenden php-Dateien für die einzelnen Seiten werden dann per include eingebunden. So brauche ich nur eine Datei mit passwortüberprüfung...
Arbeitest Du dabei auch ohne Cookies oder wie stellst Du sicher, dass jede weitere Kommunikation auch von immer der selben Gegenstelle kommt?
Mich würde Deine Datei mal interessieren weil ich auch über was "selbstgestricktes" Nachdenke...

viele Grüße
reality has always been too small for human imagination
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#8

Re: [PHP] Login per Formular

  Alt 24. Nov 2004, 21:22
So, im Anhang die PHP-Datei.
Ist eine leicht "zensierte veränderte" Version, die
1. besser verständlcih sein sollte und
2. die ich mit gutem gewissen raugeben kann, da keine Infos enthalten.

Die function dbstart() macht nichts anderes als verbindung zur DB herzustellen, die db zu selecten und in die die connection zu returnen. Ganz unten habe ich zum Verständnis noch zwei Funtionen aus der shared reinkopiert...

Ansonsten solltet ihr für die include-dateien nat. einen Ort wählen, der vom web aus nicht erreichbar ist, sonst habt ihr ein Sicherheitsproblem (irgendwo in der httpd.conf vom apache kann man einen include-Pfad einstellen)

Bei fragen nicht verzagen, sondern einfach yankee fragen
Angehängte Dateien
Dateityp: zip zindex.zip (988 Bytes, 7x aufgerufen)
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Benutzerbild von crazynet24
crazynet24

Registriert seit: 15. Sep 2003
Ort: Hamburg
30 Beiträge
 
#9

Re: [PHP] Login per Formular

  Alt 26. Nov 2004, 09:45
Danke erstmal,

Zitat:
Ansonsten solltet ihr für die include-dateien nat. einen Ort wählen, der vom web aus nicht erreichbar ist, sonst habt ihr ein Sicherheitsproblem (irgendwo in der httpd.conf vom apache kann man einen include-Pfad einstellen)
auch für den Tip, der war mir bisher unbekannt...

Mir persönlich ist dabei nur nicht ganz klar, wie man den Nutzer eindeutig über die gesamte Session identifiziert, solange man nicht entweder Cookies setzt oder Variaben austauscht. Hast Du da eine Erklärung für?
reality has always been too small for human imagination
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#10

Re: [PHP] Login per Formular

  Alt 26. Nov 2004, 09:58
Hallo,

Zitat von crazynet24:
Mir persönlich ist dabei nur nicht ganz klar, wie man den Nutzer eindeutig über die gesamte Session identifiziert, solange man nicht entweder Cookies setzt oder Variaben austauscht. Hast Du da eine Erklärung für?
das PHP generiert für jeden Benutzer eine eindeutige Session-ID wenn sie die Seite das erste mal aufrufen. Im einfachsten fall bekommt der Brwoser dann ein Cookie mit der ID zurück und übergibt diesen dann bei jeder weiteren Anfrage. Anhand der ID ist es PHP auch möglich für jeden "Benutzer" persistente Variablen zuzuweisen.

Falls Cookies nicht erlaubt sind gibt es noch den Ausweg das man die ID als Parameter an die PHP Datei übergibt. Wie das genau geht müßtest du mal das PHP-Manual lesen.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz