Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Webspace, Webserver, Domains (https://boardunity.de/webspace-webserver-domains-f28.html)
-   -   Problem mit .htaccess (https://boardunity.de/problem-htaccess-t3258.html)

Perfi 03.07.2005 13:07

Problem mit .htaccess
 
Hallo erstmal,
hab die boardsucher genutzt aber nicht gefunden.
also:

ich habe auf meiner seite eine member area. ich möchte aber das jeder user eine eigene seite bekommt auf die er, nach der passwortabfrage mit .htaccess umgeleitet wird.

Wie kann ich das realisieren? Danke für eure antworten!

De Perfi =)

Luki 03.07.2005 16:22

keine Ahnung ob Du schon eine Userdatenbank hast, ansonsten kannst Du das mit folgender htaccess Passwort Schutz Verwaltung umsetzen!

ansonsten müsstest Du Dein System das Du wünscht nochmal genauer beschreiben!
Gruß
Lukas

Perfi 03.07.2005 16:59

entweder ich versteh deine antwort nicht, oder du nicht meinen post.

also, nochmal in deutsch ^^:

user A geht auf www.homepage.de/member, gibt sein passwort ein und wird automatisch auf seite www.homepage.de/member/A.html umgeleitet.

user b geht auch auf www.homepage.de/member, gibt sein passwort ein, wird aber automatisch auf seite www.homepage.de/member/B.html umgeleitet.

Wie kann ich das machen?
THX

svpe 03.07.2005 18:17

Afaik geht sowas nur mit einer Scriptsprache wie Perl oder PHP!

Perfi 03.07.2005 18:42

und wer hat nen php script für mich parat? wer super nett!

exe 03.07.2005 18:58

HTTP-Authentifizierung kann man auch aus PHP heraus benutzen, beispielsweise so:

PHP-Code:

<?PHP
$access 
= array('user1' => array('pass' => 'foo'site => 'bar.html'));

if (!isset(
$_SERVER['PHP_AUTH_USER'])) {
        
header("WWW-Authenticate: Basic realm=\"Login\"");
        
header("HTTP/1.0 401 Unauthorized");
        die(
'Kein Zugriff!');
} else {
        
$user strtolower($_SERVER['PHP_AUTH_USER']);
        
$pass $_SERVER['PHP_AUTH_PW'];

        if(!isset(
$access[$user]) || $access[$user]['pass'] != $pass) {
                
header("WWW-Authenticate: Basic realm=\"Login\"");
                
header("HTTP/1.0 401 Unauthorized");
                die(
'kein Zugriff');
                exit;
        } else {
                
header('Location: '.$access[$user]['site']);
        }
}
?>

Das schützt dich aber nicht dagegen, dass jemand direkt auf die Seite eines Mitglieds geht (vorrausgesetzt er kennt die Adresse) - die Authentifizierung findet in dem Fall nur statt wenn der Benutzer das Loginscript aufruft.

Perfi 03.07.2005 19:35

danke für das script, aber wie genau muss das für mich aussehen. das script ist so ja nur für user A. und wie muss das script für user b verändert werden?

MrNase 03.07.2005 19:40

Du erweiterst einfach das Array :)

PHP-Code:

$access = array(
'user1' => array('pass' => 'foo'site => 'bar.html'),
'user2' => array('pass' => 'foo2'site => 'boo.html'),
'user3' => array('pass' => 'foo3'site => 'boobar.html')
); 


Die Struktur dahinter sollte selbsterklärend sein :)
</font></font>

StGaensler 06.07.2005 22:39

Macht das nicht so kompliziert, das geht auch mit mod_rewrite:
Code:

Options FollowSymLinks

RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)index.php$
RewriteRule ^(.*)$ http://www.homepage.de/member/%{REMOTE_USER}.html [R]

AuthType Basic
AuthName Test
AuthUserFile /(...)/.htpasswd
require valid-user

Dadurch, dass die User-Seiten dann auch im geschützten Bereich liegen, ist es kein Problem, wenn irgendwer die URL ohne Passwort bekommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

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