![]() |
[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 |
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!
|
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 fällt mir spontan dazu ein. Grüße, Mario |
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 |
Re: [php] login per formular
Du könntest auch PHP mißhandeln und die Daten in 'ner .php-Datei speichern
Code:
Also am einfachsten am Anfang und Ende der Datei die 2 Zeilen einfügen und jede Datenzeile als Kommentar kennzeichnen.
<?php
//[color=red]Zeile 1[/color] //[color=red]Zeile 2[/color] //[color=red]Zeile 3[/color] ?>Zugriff verweigert 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 |
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.
|
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:
Dadurch spart man sich die Arbeit, die Datei auszulesen, die Zeichen zu entfernen usw. ...
<?
$AllowedUsers = array ("Hans:Hkhs676", "Gustav:235GHnvb", ...); ?>Zugriff verweigert! 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 |
Re: [php] login per formular
das mit dem array ist eine gute idee, würde ich an deiner stelle so machen!
|
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.
|
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 13:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz