php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.01.2008, 19:46  
Neuer Benutzer
 
Registriert seit: 01.10.2005
Beiträge: 7
FI-DD
Standard Login per Session oder htaccess?

Hallo Leute,

ich möchte einen passwortgeschützten Mitgliederbereich einrichten und frage mich gerade, ob ich das per .htaccess oder per PHP machen sollte. Kenne mich auf dem Gebiet Login und Sicherheit kaum aus, möchte aber den Zugang zu relativ sensiblen Daten gewähren.

Ich weiß mittlerweile, daß ich mittels $_SERVER['REMOTE_USER'] auf den Benutzernamen zugreifen kann, der über die .htaccess Passwortabfrage eingegeben wurde. Mit diesem Benutzernamen kann ich ja dann aus der Datenbank die entsprechenden Daten des Nutzers holen und weiter verwenden.

Meine Frage ist nun:
Wäre diese Variante besser/sicherer als mittels PHP eine Session zu starten?

Denn für die PHP-Variante müßte ich ja ein Formular zur Verfügung stellen, welches anfällig für Mißbrauch ist, wenn man (so wie ich) nicht in der Lage ist, die Eingaben korrekt zu überprüfen. Auch von "Session-Klau" habe ich schon mal was gelesen.

Kann jemand einen Ratschlag geben?

Vielen Dank.
FI-DD ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.01.2008, 19:53  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

REMOTE_USER kannte ich garnicht .. war das nicht PHP_AUTH_USER und PHP_AUTH_PASSWD?

.htaccess ist halt meines erachtens nach sicher, da millionenfach im Einsatz, würde mich wundern wenn es dahingehend noch groß Sicherheitslücken im Apache gäbe.

Mit PHP und Sessions KANN man eben Mist bauen, weil man den Login ja programmiert, eine Fehlerquelle mehr: Du, der Programmierer.

Andererseits halte ich ein gut programmiertes Loginhandling auch für sicher und du bist halt flexibler im Usermanagement, weil du deinen Login über eine administrierbare Datenbank laufen lassen kannst, bei .htaccess liegt halt alles in einer Datei (an der ich nicht dauernd rumschreiben wollen würde).

Vielleicht spezifizierst du nochmal genauer deine Anforderungen und die Prioritäten: Dein Skill mit PHP, wie oft werden sich Userdaten ändern, sind sie absolut vertraulich (gut das sind alle geschützten Daten), ..
Zergling-new ist offline  
Alt 29.01.2008, 20:24  
Neuer Benutzer
 
Registriert seit: 01.10.2005
Beiträge: 7
FI-DD
Standard

Danke für die schnelle Antwort.

PHP_AUTH_USER und PHP_AUTH_PASSWD sind wohl nicht verfügbar, wenn man wie ich PHP nur in der CGI-Version hat.

Ein weiterer Nachteil bei .htaccess ist auch noch, daß man sich nicht ausloggen kann, oder?

Zitat:
Vielleicht spezifizierst du nochmal genauer deine Anforderungen und die Prioritäten
Kurz gesagt, möchte ich eine Datenbank freigeben, wo man sich anmelden muß und dann benutzerspezifische Daten anschauen kann.
Es ist also nicht lediglich ein passwortgeschützter Bereich, sondern ich muß auch wissen, wer sich angemeldet hat, damit ich ihm die entsprechenden Daten zeigen kann.

Das ganze wird nur für sehr wenige Benutzer zur Verfügung stehen. Der Benutzername wird von mir vorgegeben. Im Grunde brauche ich kein Usermanagement. Als Benutzer das Passwort ändern zu können, wäre zwar ganz nett, ist aber auch nicht so wichtig.
Den Benutzern vertraue ich voll und ganz. Angst habe ich nur vor denen, die das Login-Formular sehen und dann "rein" wollen.

Von daher tendiere ich schon zu .htaccess.
FI-DD ist offline  
Alt 30.01.2008, 00:32  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Muss zugeben mit PHP-CGI hab ich noch nie gearbeitet .. wenn es dir dann eigentlich nurnoch ums Ausloggen geht, ich hab grad mal über Google "htaccess logout" gesucht, scheint wohl nur Hacks zu geben, aber vielleicht findest du ja trotzdem eine zufriedenstellende Antwort.

Aber ich wollte dich nicht verunsichern: Ein Login-Handling mit Sessions in PHP ist auch kein Hexenwerk.
Zergling-new ist offline  
Alt 30.01.2008, 08:27  
XLB
Erfahrener Benutzer
 
Registriert seit: 31.07.2005
Beiträge: 1.126
PHP-Kenntnisse:
Fortgeschritten
XLB
Standard

N'Morgen ...

Zum "Knacken" von htacces, bzw. Basic Authentication gibt es Tools wie Brutus oder Accessdiver, die ihren Job -auch mit aktuellen Apachen- erschreckend gut erledigen (!). Das sich diese Authentifizierungsvarianten im Web halten, mag daran liegen, dass sie recht simpel zu realisieren sind und die meisten so geschützten Inhalte für Skript-Kiddies und "echte" Hacker in der Regel eher uninteressant sind und es daher nie wirklich zu einem "Angriff" kommt.

Bei einer selbst gestrickten Zugangskontrolle ist man schon flexibler, wenn es darum geht bei erkennbaren "Hacking-Attempts" adäquat zu reagieren, bzw. es gar nicht erst soweit kommen zu lassen (temporäre IP-Sperre, "Einmal-Token", Challenges, ...).

Da die blosse Existenz eines Login-Formulars tatsächlich bereits bei einigen Usern eine gewisse kriminelle Energie zu Tage fördert, könnte man dieses bei "normalen" Usern ausblenden und nur durch Eingeweihte, z. B. durch das Anhängen eines GET-Queries an die URL (?do=login) anzeigen lassen.
Nutzt man einen Browser (Firefox), bei dem man den UserAgent manipulieren kann, könnte man den Login-Dialog nur bei selbst definierten UAs anzeigen lassen.

Den Login aus dem "allgemein sichtbaren" Code rauszuhalten würde dir auch die Bots vom Hals halten, die gezielt nach "potentiell interessanten" Formularen suchen ...

Ist halt immer Frage, ob sich der Aufwand lohnt. Inwieweit könnte der zu schützende Content für andere interessant sein ....?


Gruß soweit,
Axel
XLB ist offline  
Alt 30.01.2008, 09:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Naja verstecken kannst du dein Verzeichnis ja auch, wenn du htaccess verwendest, mit den Hackertools habe ich keine Erfahrung, die üblichen Logins sind ja aber gleich einfach gestrickt (kein Anti-Brutforce). Bin mit htaccecss aber immer recht gut gefahren, wenn es darum ging - wie du sagtest - schnell mal was zu schützen.
Zergling-new ist offline  
Alt 30.01.2008, 18:32  
Erfahrener Benutzer
 
Registriert seit: 11.01.2005
Beiträge: 106
MerlinderZauberer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo FI-DD,

je nach Anwenderfall benutze ich beide Varianten kombiniert.

Als erstes schalte ich eine Loginseite zur Nutzung über eine Session. Hier kann der User bereits mit vordefinierten Einstellungen diese nutzen.

Die Administrationsseiten habe ich in einem eigenen Verzeichnis mit htaccess Datei liegen. Ruft nun mein User diese Seite auf, wird er nochmals zur Autorisierung gezwungen.

Nachteil ist das merken von zwei verschieden Passwörtern.
Jedoch denke ich mal, das eine weiterer Schutz eine Hemmschwelle darstellt

Für die .htaccess Datei habe ich Gruppen mit gleichem Passwort angelegt.

Gruß

Merlin der Zauberer
__________________
www.Sternenwelt.net - Astronomie im Internet -
www.SternenweltForum.net - Antworten rund um die Astronomie -
MerlinderZauberer ist offline  
Alt 30.01.2008, 19:00  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Hallo Merlin,

kann ich das per .htaccess geschützte Verzeichnis nicht direkt aufrufen, wenn ich seine URL kenne und somit den doppelten Schutz aushebeln?


Bis däähnnne.
squig ist offline  
Alt 31.01.2008, 20:15  
Erfahrener Benutzer
 
Registriert seit: 11.01.2005
Beiträge: 106
MerlinderZauberer ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo squig,

Zitat:
Zitat von squig
Hallo Merlin,

kann ich das per .htaccess geschützte Verzeichnis nicht direkt aufrufen, wenn ich seine URL kenne und somit den doppelten Schutz aushebeln?
Tatsächlich würde der direkte Aufruf des entsprechenden Verzeichnis eine umgekehrte Autorisierung erzeugen.

Ruft ein Angreifer den Passwort geschützten Bereich aufrufen, würde zuerst eine Abfrage durch die .htaccess Datei erfolgen.
Im Fall eines Erfolges gelangt er zwar in den Passwort geschützen Bereich, jedoch ist eine erste Autorisierung per Loginformular nicht erfolgt.

Durch meine Session- und Benutzerverwaltung wird eine nicht autorisierte Person auf ein Loginformular zurückverwiesen und dort zur Anmeldung gezwungen.
Jedes Dokument auf meinem Server startet grundsätzlich zuerst die Session- und Benutzerverwaltung und vermeidet bei geschützten Bereichen eines Zugriff auf diese.

Weiterhin habe ich die Anmeldevorgänge auf ein Minimum reduziert. Danach ist eine Anmeldung erst nach 30 Minuten wieder möglich.

Jeder Fehlversuch wird in der Datenbank für jeden Benutzer gespeichert. Somit kann ich bei Bedarf erhöhte Fehlversuche aufspüren und reagieren (Z.B. Änderung des Username, Änderung der Gruppenberechtigung)

Merlin der Zauberer
__________________
www.Sternenwelt.net - Astronomie im Internet -
www.SternenweltForum.net - Antworten rund um die Astronomie -
MerlinderZauberer ist offline  
Alt 31.01.2008, 21:19  
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 125
squig befindet sich auf einem aufstrebenden Ast
Standard

Hallo Merlin,

nun hab ich es auch gecheckt, bin im Moment von der schnellsten Truppe


Bis dääähne.
squig ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
In htaccess auf vorhandene Session kontrollieren Goreo PHP Tipps 2008 7 22.06.2008 21:47
Login session aufzeichnen Black-Devil PHP Tipps 2008 7 03.03.2008 18:12
Login, Session und der ganze Rest nikosch PHP Tipps 2007 10 25.03.2007 05:48
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
[Erledigt] Benutzername nach Login noch benötigt- Cookie oder Session? PHP Tipps 2005-2 1 30.10.2005 09:20
login + session PHP Tipps 2005-2 23 30.08.2005 21:29
Session Login LA-Finest PHP Tipps 2005-2 4 05.07.2005 10:46
login mit session id PHP Tipps 2005 10 26.01.2005 12:32
session start nur bei jedem 2. login PHP Tipps 2004-2 9 16.12.2004 13:39
Session Problem beim Login PHP Tipps 2004-2 6 15.12.2004 09:37
login mit session geht ne PHP Tipps 2004-2 4 08.12.2004 15:48
automatischer htaccess login PHP Tipps 2004 0 12.09.2004 17:09
Login / Session / Benutzerdaten SvenLittkowski PHP Tipps 2004 4 06.09.2004 17:08
Session Login funkt nicht, wenn Cookies immer aus sind schifti PHP-Fortgeschrittene 18 06.09.2004 07:48
[Erledigt] htaccess Login / Logout PHP Tipps 2004 3 13.08.2004 15:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2008/45409-login-per-session-oder-htaccess.html, htaccess session, htaccess knacken, htaccess session prüfen, htaccess nach fehlversuchen sperren, htaccess logout, htaccess aushebeln, php login fehlversuch, php anmeldung verzeichnisse, loginformular .htaccess, htaccess benutzerverwaltung, htaccess passwortschutz session, php_auth_user htaccess, htaccess ausloggen, login per htaccess, session htaccess, php session htaccess, mitgliederbereich knacken passwörter, htaccess logout php, geschützter mitgliederbereich einrichten

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.