Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] login per formular (https://www.delphipraxis.net/29234-%5Bphp%5D-login-per-formular.html)

seifman 6. Sep 2004 12:13


[php] login per formular
 
Hallo!

Ich habe mit php einen Login für meine Homepage geschrieben. Dieser sucht in einer Datei nach dem Benutzernamen und dem dazugehörigen Passwort.
Erst wenn das Passwort richtig ist, wird auf eine andere Seite weitergeleitet.

Mein Problem ist nun folgendes:
Die Datei(en) liegt in einem Ordner, der per .htaccess und .htpassword geschützt ist.
Sobald die Datei aufgerufen wird, erscheint das Login-Fenster für .htaccess.
Dieses möcht ich unterbinden. Trotzdem soll das Verzeichnis geschützt bleiben, da es
ja als "restricted area" geführt werden soll.
Gibt es dafür irgendeine simple Lösung?

Danke.

seifman

Meflin 6. Sep 2004 12:47

Re: [php] login per formular
 
so nicht, du könntest aber die passwörter gehasht abspeichern sodass es nichts macht wenn man sie als plaintext sehen kann und ergo den httaccess schutz rausnehmen!

Nuclear-Ping 6. Sep 2004 12:48

Re: [php] login per formular
 
Wenn es per .htaccess und .htpasswd geschützt ist, dann glaube ich nicht, dass du eine Datei dort so direkt rauslesen kannst, da ja der WebServer selber die Restriktion drauflegt und nicht PHP.

Einfache Möglichkeiten wären entweder
  • das über mySQL zu regeln
  • DirectoryListing auf dieses Verzeichnis zu verbieten
  • die Daten einfach verschlüsselt in der Datei abzulegen
  • Nur den Hash des Usernamen & Passwortes zu speichern und nicht die Daten selber

Das fällt mir spontan dazu ein.

Grüße,
Mario

seifman 6. Sep 2004 13:12

Re: [php] login per formular
 
Die Daten in eine DB zu speichern, finde ich überzogen, da es eh nur eine Hand voll User sind. Also habe ich sie auch verschluesselt in einer Datei hinterlegt.

Kenn mich mit DirectoryListing net so aus, denke aber mal, daß es einfach nur für die Darstellung eines Verzeichnisses dient. Wie funktioniert das ganze dann?? Kann ich dann also die .htPassword weglassen ??

mfg seifman

himitsu 6. Sep 2004 13:20

Re: [php] login per formular
 
Du könntest auch PHP mißhandeln und die Daten in 'ner .php-Datei speichern

Code:
<?php
//[color=red]Zeile 1[/color]
//[color=red]Zeile 2[/color]
//[color=red]Zeile 3[/color]
?>Zugriff verweigert
Also am einfachsten am Anfang und Ende der Datei die 2 Zeilen einfügen und jede Datenzeile als Kommentar kennzeichnen.
Wenn jetzt jemand von aussen darauf zugreift, dann macht es nicht's, da ja nur "Zugriff verweigert" angezeigt wird.

Beim einlesen (z.B. mit dem Befehl FILE) braucht man ja nur die erste und letzte Zeile auslassen und die 2 zusätlichen Zeichen ignorieren.

Ich selber hab's zwar noch nicht bei mir eingebaut, und speichere die Daten in einfachen Dateien (mit 'ner anderen Endung).

Allerdings solltest du dennoch die Passwörter hashen - die Namen hab ich aber nicht gehasht, da ja sonst die Userverwaltung erschwert wird, wenn man die Namen nicht mehr entschlüsseln kann.

[edit+add]
mySQL war mir auch zu übertrieben für meinen Fall

Meflin 6. Sep 2004 13:21

Re: [php] login per formular
 
wenn sich in dem verzeichnis keine weiteren sensiblen daten befinden und die die userdaten verschlüsseltst kannst du den passwortschutz mit htaccess getrost weglassen.

Nuclear-Ping 6. Sep 2004 13:29

Re: [php] login per formular
 
Stimmt, die Usernamen zu hashen wäre bissl übertrieben, aber nicht unbedingt verkehrt. ^^

Aber wenn er die Methode mit dem PHP-Missbrauch nutzt, kann er doch gleich ein Array mit den Usern anlegen:
Code:
<?
  $AllowedUsers = array ("Hans:Hkhs676",
                         "Gustav:235GHnvb",
                         ...);
?>Zugriff verweigert!
Dadurch spart man sich die Arbeit, die Datei auszulesen, die Zeichen zu entfernen usw. ...

Verzeichnis-Listings kannst du mit der Options-Direktive (bei Apache) unterbinden:

"Options -Indexes" ... in die .htaccess, allerdings muss dann auch AllowOveride Options erlauben.

Grüße,
Mario

Meflin 6. Sep 2004 13:30

Re: [php] login per formular
 
das mit dem array ist eine gute idee, würde ich an deiner stelle so machen!

Nuclear-Ping 6. Sep 2004 13:34

Re: [php] login per formular
 
Trotzdem würde ich für sowas mySQL bevorzugt verwenden, da dies noch weiter weg vom Zugriff eventueller User liegt (dem Hoster wollen wir ja nichts unterstellen ...) und nebenbei noch viel mehr Vorteile mit sich bringt.

seifman 6. Sep 2004 13:36

Re: [php] login per formular
 
Da habe ich mich vieleicht falsch ausgedrückt.

Ich habe in dem aufzurufenden Verzeichnis sensible Daten zu liegen, welche auch nur für die vorher definierten User zugänglich sein sollen. Daher habe ich auch keine andere Lösung gefunden, als dieses mit htaccess zu schützen. Würde ich das rauslassen, so kann man jederzeit auf dieses verzeichnis per url zugreifen, vorausgesetzt man kennt dessen namen.

mfg seifman


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.
Seite 1 von 3  1 23      

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