Portal > Foren > PHP > PHP-Programmierung > Login-Daten mit php an .htaccess weitergeben
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 03.09.2007, 16:07 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 27.08.2007
Beiträge: 3
Standard Login-Daten mit php an .htaccess weitergeben

Hallo zusammen,

ichhabe folgendes problem. ich habe mir ein Login system gebastelt wie hier beschrieben, was auch wunderbar klappt.

[PHP] Ein sessionbasiertes Loginsystem


Jetzt hab ich allerdings auf der geschützten seite bilder verlinkt, die man jetzt auch ohne passwort abrufen kann wenn man den direkten link weis(also wenn ein eingeloggter user die url eines bildes speicher undt weitergibt).

meine idee war ich schütze die unterverzeichnisse mit .htaccess und nehme dazu die selben daten die ich auch zum login über das obengenannte login script brauche. Bei einem login sollte sich der user im prinzip gleich bei den unterverzeichnissen anmelden. (ich will damit vermeiden dass wenn ich im internen bereich auf einen link zum bild klick sich dann das "hässliche" ^^ Apache-eingabefenster auftut.

ich habe dieses script gefunden, funz aber net so recht:

PHP-Code:
<?php
//
// regelt den zugriff auf .htaccess-geschützte unterordner in wwwRoot/content
//
$user $_GET 'user' ];
$userpass $_GET 'pass' ];
$dir $_GET 'dir' ];
//
// auslesen der .htpasswd unter angegebenem pfad
// hier in einem /php übergeordneten Verzeichnis /content
//
$htpasswd "../content" $dir "/.htpasswd";

$handle fopen ($htpasswd"r");

$contents fread ($handlefilesize($htpasswd));

$a explode("\r\n"$contents);
//
// abgleich aller innerhalt der .htpasswd gelisteten 'user:userpassword' mit
// der eingabe $user:$userpass 
//
foreach ($a as $v) {

    
$b explode ":" $v );    

    if ( 
$user == $b[0] && crypt ($userpass$b[1]) == $b[1] )
    {
        
//
        // übereinstimmung mit $user:$userpass gefunden!
        //    
        
echo "true";
        exit();
    }
}
//
// keine übereinstimmungen gefunden
//
echo "false";
?>
(gefunden auf http://www.flashforum.de/forum/archi.../t-227385.html)

Die struktur meiner homepage sieht (grob) so aus:

Ein ordner in dem sich die ordner PHP und INTERN(weiterer unterordner ist BIDER) befinden. in intern sind die geschützen datein inc. .htaccess. im Ordener PHP sind dann halt die übrigen seiten sowie das Loginformular und das obrige script.

WEnn es möglich ist die Daten eines Loginformulars weiterzugeben und sich so einzuloggen würde ich den PHP-Schutz ja nicht mehr brauchen nicht mehr brauchen.

Um mein Problem jetzt nochma zu beschreiben falls es nochnicht so deutlich rübergekommen ist:
ich will einfach das blöde popup fenster beim einloggen in den internbereich nict mehr haben sondern ein Loginformular wie man es überall sieht. =)

hab auch diesen tread gefunden hab ich aber nicht kapiert:

[PHP] dynamischer Verzeichnisschutz mit .htaccess


so ich hoff mal dass ihr mir helfen könnt und das es überhaupt eine lösung gibt die ich verstehe!

ph!l

Geändert von Jann Hendrik (03.09.2007 um 19:22 Uhr). Grund: php-tag h
phil ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2007, 19:21 Nach oben    #2
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.217
Standard

Zitat:
Zitat von phil Beitrag anzeigen
hab auch diesen tread gefunden hab ich aber nicht kapiert:

[PHP] dynamischer Verzeichnisschutz mit .htaccess
willst du diesen Punkt hier weiter diskutieren? Wenn ja, dann schreib mal los, was du daran nicht verstehst.
Aber da das Problem hier sicherlich ein leicht anderes sein wird, bitte ich dich dazu einfach einen neuen thread aufzumachen, in dem es dann nur um das Tutorial geht.. ok?

btw: bitte den php-tag benutzen. danke.
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2007, 19:25 Nach oben    #3
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
Standard

Die sinnvollere Lösung wäre einfach:

Die Bilder in ein Verzeichnis unterhalb des webroots oder eine htaccess mit folgendem inhalt rein:
Code:
DENY FROM ALL
dann kann man mit den URLS nicht mehr darauf zugreifen.

Als nächstes baust du dir dann ein script was folgendes macht:

image.php?file=xxx.jpg

das script überprüft ob man eingeloggt ist und wenn das der Fall ist, gibt es das angegebene Bild aus.

Anstatt in deinem HTML die Bilder direkt einzubinden, nutzt du dann den Umweg über die image.php.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2007, 20:39 Nach oben    #4
Neuer Benutzer
 
Registriert seit: 27.08.2007
Beiträge: 3
Standard

Hi!

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Zitat:
Zitat von phil Beitrag anzeigen
hab auch diesen tread gefunden hab ich aber nicht kapiert:

[PHP] dynamischer Verzeichnisschutz mit .htaccess
willst du diesen Punkt hier weiter diskutieren? Wenn ja, dann schreib mal los, was du daran nicht verstehst.
Aber da das Problem hier sicherlich ein leicht anderes sein wird, bitte ich dich dazu einfach einen neuen thread aufzumachen, in dem es dann nur um das Tutorial geht.. ok?

btw: bitte den php-tag benutzen. danke.
Ne ich will das nicht ihr sikutieren weil ich mitlerweile auch glaube dass es auch nicht wirklich, wie du schon sagtest, zur lösung meines Problems beiträgt! aber danke trotzem!


Zitat:
Zitat von robo47 Beitrag anzeigen
Die sinnvollere Lösung wäre einfach:

Die Bilder in ein Verzeichnis unterhalb des webroots oder eine htaccess mit folgendem inhalt rein:
Code:
DENY FROM ALL
dann kann man mit den URLS nicht mehr darauf zugreifen.

Als nächstes baust du dir dann ein script was folgendes macht:

image.php?file=xxx.jpg

das script überprüft ob man eingeloggt ist und wenn das der Fall ist, gibt es das angegebene Bild aus.

Anstatt in deinem HTML die Bilder direkt einzubinden, nutzt du dann den Umweg über die image.php.

Mhhhhhh.... also das mit dem demy from all versteh ich ja, aber muss ich mir dann für jedes Bild ein extra script machen oder kann ich den Bildernamen auch irgendwie als Parameter reinsetzten.
(Als Info: ich hab die Bilder mit Photoshop in mehrere Web-Galerien geteilt, sprich jedes bild hat grob gesagt seine eigene html-seite die man dan auf thumbnails verlinkt sind)

Ich hab beim googeln noch gelesen dass ich mit .htaccess dateien auch Zugriffe auf ein verzeichniss oder datei weiterleiten kann:also so

Code:
Redirect /beispielverzeichnis http://www.domein.de
gefunden auf : http://www.drweb.de/htaccess/htacces...leitugen.shtml

ich habe mir überlegt dass ich ja eine solche datei in den ordner kopieren könnte in dem die bilder bzw. die seeiten mit den bilder speicher und dann auf eine php script verweise das überprüft ob man eingelogt ist oder nicht.
z.b.
PHP-Code:
 <?php

    session_start
();

    if( !
$_SESSION['loggedIn'] ) {
        
header'Location: http://www.domain.de/Neu/php_data/loginformular.html' );
        exit();
    }

?>
käme ein angriff von außen müsste dieser ja dann auf die loginseite umgeleitet werden, ist man aber schon eingeloggt würde man ohne weiteres zum entsprechenden bild gelangen.

leider hat das nicht so geklappt wie ich wollte. das php script zum überprüfen wurde garnicht angesprochen sondern ich bin dirckt zum bild gekommen. =( habe ich vielleicht bei der .htaccess datei was vergesen hinzuzufühgen??

Ich habe oben ja auch einen php-code gepostet (wurde noch richtig von Jann dargestellt xD) der anscheinend das Apachefenster das beim öffnen von .htaccess-geschützten datein umgeht und die daten aus einem loginformular nimmt. bei mir hat es halt immer false ausgegeben, als ichs mal probiert hab, sprich irgendwas war falsch eingegeben. Ich fände es halt am beseten wenn ich das komplette verzeichniss mit .htaccess schützen könnte un dann aber einfach ein loginformular had, dass ich auf meine seite einbinde und nicht dieses "hässliche" fenster. Allerdings bin ich schon merfach darauf gestoßen, dass so etwas anscheinend nicht möglich ist und da ich in solchen dingen nicht der held bin würd ich gerne mal wissen obs den funktionieren kann, bevor ich nach einer andern lösung such?

ich hoffe ich hab mich nicht zu verwirrend o.ä. ausgedrückt damit ihr auch versteht was ich meine^^

danke schonmal für eure hilfe!
ph!l

Geändert von phil (03.09.2007 um 20:58 Uhr).
phil ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.09.2007, 00:46 Nach oben    #5
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.183
Standard

Mein vorschlag, war schon so gedacht, dass das script für ALLE Bilder funktioniert, dafür ja der übergebene Parameter file.

Dieser Parameter enthält einen Teil des Pfads zu dem Bild.

spich, du speicherst deine Bilder beispielsweise unter: /geheim/bilder/
dann nimmt das Script den angehängten Pfad und gibt das Bild aus:
image.php?file=gallerie1/bild1.jpg
gibt dir dann nach der Überprüfung ob der User eingeloggt ist das bild
/geheim/bilder/gallerie1/bild1.jpg aus.
robo47 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.09.2007, 13:59 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.481
Standard

Hi phil,
wie sieht es aus?
Weitergekommen, alles lauffähig oder noch Fragen?

Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.09.2007, 15:57 Nach oben    #7
Neuer Benutzer
 
Registriert seit: 27.08.2007
Beiträge: 3
Standard

hi zusammen,

also so richtig weiter gekommen bin ich nicht. ich hab das komplette verzeichniss jetzt mit einer.htaccess datei geschütz ud lass jetzt einfach mal das fenster zum anmelden.

ich hab jetzt ma beim googeln dies links gefunden:

http://www.aspheute.com/artikel/20010521.htm
http://www.aspheute.com/artikel/20010608.htm

dsa ist mehr oder weniger die lösung die ich gesucht habe. wed mal ausprobieren ob ich so hinbekomme!

So danke auf jedenfall für eure bemühungen und wenn ich wiedermal ein unlösbares problem haben sollte meld ich mich wieder!

bb,
ph!l
phil ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hardware-RAID-Lösung robo47 Plauderecke 29 26.12.2007 04:49
Daten von einem Server ausgeben und auf anderem einlesen - PHP Jan PHP-Programmierung 15 05.07.2007 18:53
PHP + SQLite: Kann Daten mysteriöserweise nicht verwerten + Problem "undefined offs Fabio PHP-Programmierung 17 11.06.2007 19:36
Java Applet soll Daten an ein PHP Script senden flanger Allgemeine Java-Programmierung 5 16.05.2007 16:52
PHP 5.1.5, PHP 4.4.4 und PHP 5.2.0 RC2 veröffentlicht Ben Nachrichten 2 01.09.2006 16:05


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


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44