php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 08-11-2011, 10:18
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard Login zu htaccess via HTML-Form

Hi

Ich mache gerade eine Webapp, zu welcher sich aber anmelden muss.
Das einfachste und sicherste wäre, den Login via .htaccess zu erledigen.
Allerdings finde ich dieses "Anmeldepopup" ziemlich unattraktiv.

Kann ich ein Formular machen das schön gestaltet ist (vgl. zB iCloud.com) und die Credentials dann dem Server übergibt und dieser (evt. mit PHP) die Authentifizierung erledigt?
Mit Zitat antworten
  #2 (permalink)  
Alt 08-11-2011, 10:30
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fabio Beitrag anzeigen
Kann ich ein Formular machen das schön gestaltet ist (vgl. zB iCloud.com) und die Credentials dann dem Server übergibt und dieser (evt. mit PHP) die Authentifizierung erledigt?
Ja

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 09-11-2011, 16:12
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Gut also dass es irgendwie geht dachte ich mir.
Ich habe es mal etwa so gelöst:
PHP-Code:
<?PHP
header
("LOCATION: http://max:maxpws@www.domain.com/web/login.php");
?>
Die Frage ist für mich, wie sicher das ist.
Ist es gleich unsicher wie http:// Logins allgemein (Wireshark etc) oder ist es unsicherer als sonst?
Mit Zitat antworten
  #4 (permalink)  
Alt 09-11-2011, 16:29
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Passwörter in der URL durchschleifen? Untersteh dich.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 10-11-2011, 20:12
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja, Passwörter werden so oder so zu oft im Klartext übertragen.
Eine ARN-Spoofer via Broadcast verschicken im Netzwerk und man kann sehr viele Passwörter im Klartext bekommen.
Das von PHP-Resource übrigens auch.

Aber wie kann ich das nun lösen?
Ich finde im Internet immer nur umgekehrte Ansätze, wie man via PHP eine HTTP Authentifizierung auslösen kann, also über header() dieses unschöne Fensterchen aufrufen kann.
Mit Zitat antworten
  #6 (permalink)  
Alt 10-11-2011, 20:45
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

ich glaube, Kropff meinte, dass du bei einer Umleitung per Location-Header dafür sorgst, dass der Browser sich direkt bei der entsprechenden Seite anmeldet und ggf. die Anmeldedaten in der Adressleiste zu sehen sein könnten. Kannst du dich nicht mit PHP bei dem Server anmelden und gewissermaßen als Proxy agieren?

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #7 (permalink)  
Alt 11-11-2011, 07:54
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fabio Beitrag anzeigen
Naja, Passwörter werden so oder so zu oft im Klartext übertragen.
Eine ARN-Spoofer via Broadcast verschicken im Netzwerk und man kann sehr viele Passwörter im Klartext bekommen.
Das von PHP-Resource übrigens auch.
Darum gehts auch gar nicht. Schlimmer ist die Tatsache, dass jemand der dem Benutzer auf den Bildschirm schaut die Zugangsdaten einfach mitlesen kann. Ohne Zugriff aus das Netzwerk. Und Jede eingebettete Resource. Und jeder Tracking Dienst. Alle. Und ganz abgesehen davon, und das finde ich viel schlimmer (weil den Hack nutze ich hier und da auch mal, wenn es nicht anders geht): Die allermeisten Browser mögen das gar nicht, geben eine Betrugswarnung aus oder naggen den Benutzer mit anderen nervigen Abfragen. Lass es lieber.
Mit Zitat antworten
  #8 (permalink)  
Alt 14-11-2011, 00:13
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Um zurück zur Frage zu kommen:
Kann ich per PHP nun einen Header aussenden, welcher den Browser authentisiert für einen Bereich?
Und wenn ja, welchen Header muss ich nun konkret nutzen.

So wie ich das auf Stackoverflow gelesen habe geht das nicht, aber Kropff hat da auf die erste Frage mit einem eindeutigen "Ja" geantwortet.
Mit Zitat antworten
  #9 (permalink)  
Alt 14-11-2011, 00:14
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi

Nachdem ich wohl nicht via einem schönen HTML/CSS Formular mich bei einem htaccess anmelden kann, muss ich mich weiter umschauen.

Der Login sollte folgende Funktionen bieten:
- via HTML/CSS Formular anmeldbar
- keinen Zugriff (auch auf JPG/PNG/...) innerhalb des geschützten Verzeichnis zulassen
- Bilder danach direkt auslesbar und nicht durch ein PHP Script durchgeschleift


Ich habe ein Verzeichnis mit ~2000 Fotos welche absolut nicht zugänglich sein dürfen ohne Login.
Aus Performance Gründen ist es aber auch nicht optimal diese Bilder ausserhalb des httpdocs zu speichern und durch ein PHP Script auszugeben.

Ja, aber welcher Client nun autorisiert ist und welcher nicht ist wiederum Sache des Servers, genauer gesagt vom Apache Server in dem Falle vom htpasswd.
PHP müsste also nur irgendwie dem Apache mitteilen "Hey, der Client ist okay, autorisier ihn".

Von der Autorisierung läuft nix auf dem Client ab, lediglich das Formular welches angezeigt wird.

Geändert von AmicaNoctis (14-11-2011 um 07:40 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 14-11-2011, 00:16
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fabio Beitrag anzeigen
Kann ich per PHP nun einen Header aussenden, welcher den Browser authentisiert für einen Bereich?
Nein, natürlich nicht.

PHP läuft auf dem Server. Authentifizieren muss sich aber der anfragende Client, und zwar beim Request. Per PHP gesendete Header sind aber Response.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 14-11-2011, 01:49
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fabio Beitrag anzeigen
Von der Autorisierung läuft nix auf dem Client ab, lediglich das Formular welches angezeigt wird.
Der Client muss die Zugangsdaten bei jedem Request erneut mitschicken. (Deshalb ist es auch kein „Login“.)

Zitat:
PHP müsste also nur irgendwie dem Apache mitteilen "Hey, der Client ist okay, autorisier ihn".
Kann es aber nicht.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 14-11-2011, 07:36
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

deine Punkte widersprechen sich. Entweder ist ein Verzeichnis geschützt und die Inhalte müssen durchgeschleift werden oder es ist mindestens teilweise offen. Wenn es teilweise offen ist, kommt nur HTTP-Authentifizierung in Betracht und die widerspricht wieder der Forderung nach einem schönen Login.

Das Durchschleifen ist aber kein großes Problem und solange die Dateien auf derselben Maschine liegen auch kein nennenswerter Performanceverlust. Die Dateien müssen auch nicht außerhalb des Document Root liegen, sondern lediglich in einem geschützten Verzeichnis.

Warum du aber jetzt gleich einen neuen Thread anfängst, verstehe ich nicht.

Edit: Themen gejoint

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!

Geändert von AmicaNoctis (14-11-2011 um 07:41 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 14-11-2011, 12:06
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Wenn du HTTP Auth mit „schönem Login“ willst, bleibt dir eigentlich nur eine Möglichkeit: AJAX.

Du lässt den Nutzer die Zugangsdaten in ein Formular eingeben und erst mal so an den Server schicken, an ein (PHP-)Script außerhalb des geschützten Bereiches. Dieses Script muss dann prüfen, ob die Zugangsdaten stimmen – entweder, in dem es selbst einen HTTP-Request auf eine Ressource innerhalb des geschützten Bereiches macht, oder in dem es die entsprechenden Konfigurationsdateien selber liest und auswertet.
Dann gibt das Script eine entsprechende Antwort an den Client, je nachdem ob die Zugangsdaten gültig sind oder nicht. Wenn sie gültig sind, macht der Client einen AJAX-Request nach einer Ressource aus dem geschützten Bereich, und gibt dabei die Zugangsdaten mit.

Ich habe das vor ca. einem halben Jahr mal durchgespielt, und alle großen Browser bis auf Opera haben brav mitgespielt. (Opera unterscheidet offenbar zwischen AJAX- und „normalen“ Requests in der Hinsicht – das Fenster für die Eingabe der Zugangsdaten kam anschließend beim Aufruf einer geschützten Ressource per Link immer noch, obwohl der AJAX-Request erfolgreich war. Habe damals kurz überlegt, ob ich einen Bugreport verfassen soll, aber es dann doch bleiben gelassen.)

Als Workaround für Opera und Fallback für nicht JS-/AJAX-fähige Browser müsstest du dann mit dem „normalen“ Abfragefenster leben.


Wenn du das nicht als eine akzeptable Lösung ansiehst – dann bleibt dir ggf. noch, den Server-Administrator zu bitten, dir ein Modul wie mod_auth_cookie o.ä. zu installieren. (Die Chancen dafür stehen in einer shared hosting-Umgebund aber vermutlich eher schlecht.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #14 (permalink)  
Alt 14-11-2011, 15:57
fabio
 Registrierter Benutzer
Links : Onlinestatus : fabio ist offline
Registriert seit: Aug 2003
Ort: Wetzikon, ZH, CH
Beiträge: 408
fabio ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke @wahsaga

Das hilft mir schon sehr viel weiter.
Die Abfrage via PHP ob das Passwort im .htpasswd enthalten ist kann ich machen.


Mit dem Satz: "Wenn sie gültig sind, macht der Client einen AJAX-Request nach einer Ressource aus dem geschützten Bereich, und gibt dabei die Zugangsdaten mit."

Meinst du damit dass er danach den Login mit dem https://nameass@domain.ch Schema per AJAX durchschicken?
Mit Zitat antworten
  #15 (permalink)  
Alt 14-11-2011, 16:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fabio Beitrag anzeigen
Mit dem Satz: "Wenn sie gültig sind, macht der Client einen AJAX-Request nach einer Ressource aus dem geschützten Bereich, und gibt dabei die Zugangsdaten mit."

Meinst du damit dass er danach den Login mit dem https://name:pass@domain.ch Schema per AJAX durchschicken?
Nein.
Benutzername und Passwort lassen sich bei AJAX-Requests als extra Parameter der Methode XMLHttpRequest.open mitgeben.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
submit form via enter sypr0 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 3 24-01-2008 15:20
[HTML] HTML <form> Befehl bereitet einem Anfänger Probleme Veritas00 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 2 06-05-2007 16:34
htaccess login via php!? hurricane PHP Developer Forum 3 03-04-2005 13:05
Dateiupload via PHP Script und .htaccess Clamsy1111 PHP Developer Forum 0 10-02-2005 18:51
via PHP erzeuhte HTML-Taabelle mit Javascript in HTML Seite einbinden flyingMiATA HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 12 15-07-2004 10:08

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:38 Uhr.