Wie Seite mit .htaccess schützen

Mauki

Mauki

Aktives Mitglied
Thread Starter
Dabei seit
24.07.2002
Beiträge
15.499
Reaktionspunkte
189
Ich möchte auf meiner Webseite einen internen Bereich einrichten. Hab dafür Verzeichnissschutz über Config Center und .htaccess um das zu realisieren. Leider geht da aber für die PW-Eingabe immer ein Popup auf.

Ich möchte direkt ne Seite wo man ein Einlogformular hat. Das soll dann direkt die Daten aus der .htaccess verwenden. Ist das möglich, eventuell mit PHP?
 
Guten Morgen,

eine gute Quelle für solche Problemchen ist http://de.selfhtml.org
Da findeste auch ein Kapitel über htaccess
 
Mauki schrieb:
Ich möchte auf meiner Webseite einen internen Bereich einrichten. Hab dafür Verzeichnissschutz über Config Center und .htaccess um das zu realisieren. Leider geht da aber für die PW-Eingabe immer ein Popup auf.
Das ist normal bei .htaccess.

Mauki schrieb:
Ich möchte direkt ne Seite wo man ein Einlogformular hat. Das soll dann direkt die Daten aus der .htaccess verwenden. Ist das möglich, eventuell mit PHP?
Nicht via .htaccess - aber damit:
http://loghound.com/lockdown/index.html
 
MIr scheint Loghound.com bietet für alles ne Lösung an, kostet halt. $7.95 wäre noch zu verkraften, das wären ca. 6.20 Euro.

Mal sehen ob es bei dem Rabatt gibt, wenn man mehrere Sachen kauft :D

Sehe ich das auf dem Screenshot richtig, das dort auch ein Popup aufgeht.
 
Mauki schrieb:
Sehe ich das auf dem Screenshot richtig, das dort auch ein Popup aufgeht.
Tipp: Fragezeichen (?) machen ersichtlich, dass es sich um eine Frage handelt. ;)

Du verwechselst Popups mit Dialogfenstern. Siehe auch deine Frage zu .htaccess weiter oben.
 
Ob Dialogfenster oder Popup ist mir eigentlich egal, ich will das nichts nichts aufgeht :D

Ich probier das heute abend mal aus, wenn ich dazu komme.
 
@Mauki: Möchtest Du einfach "fremde Leute" von Deiner Webseite fernhalten? Das kannst Du doch simpelst mit einer einzigen (PHP-)$_SESSION-Variablen lösen, die Du setzt, wenn sich die Leute in einer kleinen Einlog-Seite erfolgreich authentifiziert haben.
 
ich schlage in diesem Thread einmal schnell mein Lager auf - ich moechte auch ein Verzeichnis schuetzen lassen und wuerd jetzt gern den Serverpfad der Webseite von meinem Poviders rausfinden...nur wie?

whois hat nichts gebracht und auf der hosterseite steht auch nicht wirklich was...

was waere eine gute moeglichkeit? ;)

mfg
m0mo
 
m0mo schrieb:
ich schlage in diesem Thread einmal schnell mein Lager auf - ich moechte auch ein Verzeichnis schuetzen lassen und wuerd jetzt gern den Serverpfad der Webseite von meinem Poviders rausfinden...nur wie?

Frag doch einfach mal bei deinem Provider nach, die können dir sicher den Pfad nennen ;)
 
m0mo schrieb:
...wuerd jetzt gern den Serverpfad der Webseite von meinem Poviders rausfinden...nur wie?
bist Du sicher, dass das notwendig ist? Du könntest versuchen, dem Server mal das unterzujubeln:
HTML:
<html><body><pre><?php echo ( `pwd`); ?></pre></body></html>
Aber "system", "exec" und Backticks sind bestimmt deaktiviert.
 
Zuletzt bearbeitet:
man könnte eine php-Datei mit dem Inhalt hochladen:
Code:
<?php 
    phpinfo(); 
?>
und die aufrufen. Evtl. steht da was drin zum Pfad.

Oder eine beliebige php-Datei mit einem Fehler versehen, dann gibt der Apache sowieso den kompletten Pfad der Datei aus und sagt in welcher Zeile der Fehler liegt...

just my 2 cents
 
m0mo schrieb:
ich schlage in diesem Thread einmal schnell mein Lager auf - ich moechte auch ein Verzeichnis schuetzen lassen und wuerd jetzt gern den Serverpfad der Webseite von meinem Poviders rausfinden...nur wie?
...
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>
 
Nur ergänzend:

$_SERVER['DOCUMENT_ROOT'] gibt Dir den Pfad zum Veröffentlichungsverzeichnis des HTTP-Servers. Häufig konfigurieren Provider auch zusätzliche Benutzerverzeichnisse, die Ihrerseits wiederum unterhalb des DocRoots liegen oder (wie bei OS X) wiederum ganz woanders. Daher mag es hilfreich sein, zusätzlich den Wert von $_SERVER['SCRIPT_FILENAME'] bzw. $_SERVER['PATH_TRANSLATED'] auszulesen.
 
Mauki schrieb:
Ich möchte auf meiner Webseite einen internen Bereich einrichten. Hab dafür Verzeichnissschutz über Config Center und .htaccess um das zu realisieren. Leider geht da aber für die PW-Eingabe immer ein Popup auf.

Ich möchte direkt ne Seite wo man ein Einlogformular hat. Das soll dann direkt die Daten aus der .htaccess verwenden. Ist das möglich, eventuell mit PHP?

Und noch eins: Viele Provider erlauben Dir die Verwendung eigener .htaccess-Dateien nicht oder nur eingeschränkt. Stattdessen kannst Du (wie schon oben angewunken) die Funktionalität mit PHP selbst herstellen.

Hier eine Möglichkeit mit einer integrierten Datenbankabfrage, die annimmt, dass Du eine bestehende Datenbankverbindung hast (_GLOBALS['connID']) sowie, dass in der Datenbank eine Tabelle users existiert, die die Spalten "username" und "pass" beinhaltet.

PHP:
	function validateUser ($username, $pass) {
	
		if ($GLOBALS ['connID']) {
	
			$sql		=	"SELECT * ";
			$sql		.=	"FROM users ";
			$sql		.=	sprintf ("WHERE username='%s' ", strtolower (mysql_real_escape_string ($username)));
			$sql		.=	sprintf ("AND pass='%s' LIMIT 1", mysql_real_escape_string ($pass));
			
			if ($res = myquery ($sql, $GLOBALS ['connID'])) {
				if (mysql_num_rows ($res) > 0) {
					return TRUE;
				}
			}
		}
		
		return FALSE;
	}
		
	
	if (!validateUser ($_SERVER ['PHP_AUTH_USER'], $_SERVER ['PHP_AUTH_PW'])) {
	
		header ('WWW-Authenticate: Basic realm="Intern"');
		header ('HTTP/1.0 401 Unauthorized');
		echo "Bitte nennen Sie Benutzername und Passwort.";
		exit ();
	}

Binde dies einfach zu Beginn Deines Skriptes ein (zum Beispiel mit "require_once") und schon geht's...
 
Ideal ist es, wenn der Provider/Hoster auch Verzeichnisse (oder zumindest eins) außerhalbder Dokument root anbietet.
Bisher kenne ich nur einen (Free) Hoster, bei dem das so ist/war, der ist aber leider seit einigen Monaten nicht mehr aktiv.
 
maceis schrieb:
Ideal ist es, wenn der Provider/Hoster auch Verzeichnisse (oder zumindest eins) außerhalbder Dokument root anbietet.
Bisher kenne ich nur einen (Free) Hoster, bei dem das so ist/war, der ist aber leider seit einigen Monaten nicht mehr aktiv.

Ja, gerade für Dein geliebtes Pörl ist das bestimmt nett, ein »externes« cgi/bin-Verzeichnis zu haben (für PHP ist es für Datenbankkonnektoren unbedingt empfohlen, wenn nicht sogar ein »Muss«). Ich glaube mich zu erinnern, dass domainfactory solches bot (ich bin aber seit Jahren mein eigener Provider, so geht mir diese Erfahrung ein wenig flöten).
 
Ja und nein.
Das cgi-bin Verzeichnis ist ja i.d.R. auch innerhalb der DocumentRoot vor externen Zugriffen relativ sicher.
Deshalb kann man es für den Fall, dass der eigene Hoster eben keinen Zugriff auf externe Verzeichnisse zulässt, für sensible Daten zweckentfremden ;).
 
Zurück
Oben Unten