Passwort Schutz für PHP-Seiten
Tom
- php
0 wucher wichtel0 Tom0 wucher wichtel0 Tom
0 Sven Rautenberg0 Tom
Hello,
Untertitel: aus gegebenem Anlass
Die letzen Tage kaman hier öfter völlig ungeschützte Scripte für Mail, Upload, Adminsitration vor. Ich will deshalb nur kurz erwähnen, dass eine Absicherung der PHP-Webseiten meistens schon mit ganz wenigen Code-Zeilen möglich ist:
++++++++++++++ von hier ++++++++++++
#require_once(passwd.inc.php); ## für die Zugangsdaten
#========================================================
#========================================================
function authenticate($ansage,$absage)
{
Header("WWW-authenticate: basic realm="$ansage"");
Header("HTTP/1.0 401 Unauthorized");
echo $absage;
exit;
}
#========================================================
#========================================================
if (!isset($_SERVER['PHP_AUTH_USER']) or !isset($_SERVER['PHP_AUTH_PW']) or
($_SERVER['PHP_AUTH_USER'] != 'Paul') or ($_SERVER['PHP_AUTH_PW'] != 'kNoppers31'))
{
authenticate('Bitte Zuganmgsdaten eingeben',file_get_contents('pech_gehabt.html'));
}
#-------------------------------------------------------
++++++++++ bis hier +++++++++++
"pech_gehabt.html" ist eine vollständige HTML-Seite, mit der Du deinem Eindringling Dein aufrichtiges bedauern für seinen Fehlversuch ausdrückst. Selbstverständlich kann sie in Deinem Design erstellt sein!
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo!
Kann ich damit auch ein Verzeichnis schützen?
ciao, ww
Hello,
Kann ich damit auch ein Verzeichnis schützen?
Nein, damit kannst Du nur die Verwendung des Scriptes durch Unberechtigte abwehren.
Ein ganzes Verzeichnis mit diversen Files als Inhalt schützt man besser durch die Mechanismen des Webservers. Beim Apache z.B. http://httpd.apache.org/docs/2.0/howto/auth.html
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo!
Schade :) Auf der Seite im Manual stand auch nichts von wegen Verzeichnisse schützen. Danke schön!
ciao, ww
Hello,
Schade :) Auf der Seite im Manual stand auch nichts von wegen Verzeichnisse schützen. Danke schön!
Die ganze Seite handelt von nichts anderem. Das Stichwort lautet "htaccess" bzw. ".htaccess".
Der Apache arbeitet erstmal kooperativ, das bedeutet, dass er alle Seiten ausliefert.
Legt man nun in das zu schützende Verzeichnis eine Datei mit einem bestimmten, in der Konfiguration des Apachen festgelgten Namen (Standard ist ".htaccess"), dann wird diese erst ausgewertet. Kommt der Apache mit mderen Inhalt nicht klar, wird der Zugriff über HTTP auf das Verzeichnis abgewehrt.
Dazu muss der Mechanismus eingschaltet sein. Dafür sorgtt Dein Provider oder Server-Admin
Du kannst die Datei dann auch ".du-kommst-hier-net-rein" nennen. Dein Admin muss das für Deinen Host nur entsprechend festgelegt haben.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Moin!
Untertitel: aus gegebenem Anlass
Die letzen Tage kaman hier öfter völlig ungeschützte Scripte für Mail, Upload, Adminsitration vor. Ich will deshalb nur kurz erwähnen, dass eine Absicherung der PHP-Webseiten meistens schon mit ganz wenigen Code-Zeilen möglich ist:
Du hast vergessen zu erwähnen, dass dein Vorschlag
1. wunderbar problemlos auch einfach per .htaccess möglich ist, und
2. in der vorgestellten PHP-Form nur funktioniert, wenn PHP als Apache-Modul läuft, sowie
3. absolut nicht die einzige Methode des Passwortschutzes ist.
Gerade bei den diversen Shared-Hosting-Umgebungen ist PHP nicht als Modul in Betrieb, so dass .htaccess dort und eigentlich auch überall anders der deutlich einfachere Weg ist, einen Passwortschutz für sensible Bereiche zu etablieren.
- Sven Rautenberg
Hello Sven,
Untertitel: aus gegebenem Anlass
Die letzen Tage kaman hier öfter völlig ungeschützte Scripte für Mail, Upload, Adminsitration vor. Ich will deshalb nur kurz erwähnen, dass eine Absicherung der PHP-Webseiten meistens schon mit ganz wenigen Code-Zeilen möglich ist:
Du hast vergessen zu erwähnen, dass dein Vorschlag
- wunderbar problemlos auch einfach per .htaccess möglich ist, und
- in der vorgestellten PHP-Form nur funktioniert, wenn PHP als Apache-Modul läuft, sowie
- absolut nicht die einzige Methode des Passwortschutzes ist.
Gerade bei den diversen Shared-Hosting-Umgebungen ist PHP nicht als Modul in Betrieb, so dass .htaccess dort und eigentlich auch überall anders der deutlich einfachere Weg ist, einen Passwortschutz für sensible Bereiche zu etablieren.
Das stimmt natürlich. Vielen Dank für den Nachtrag. Man kann in einem kurzen Postung eben nicht die ganze Welt erklären ;-)
Dass aber die meisten[1] Provider inzwischen PHP als CGI einsetzen, kann ich ganz und gar nicht bestätigen. Die meisten Einrichtungen sind als Modul eingerichtet. Man hat sich auch größtenteils vom Safe-Mode verabschiedet, sondern stattdessen die paar wirklich notwendigen Konfigurationseinstellungen automatisiert und per default auf "sicher" eingestellt.
Ich selber habe zwei Teams von einigen größeren Providern dabei unterstützt, die Werkzeuge zu bauen. Eine mMn sichere PHP-Einrichtung ist dadurch durch "Knopfdruck" möglich. Aufweichung der Restriktionen muss explicit erfolgen.
Man hat heute
Es sind auch oft nur noch ca. 30 User auf einer Maschine (vServerzelle), sodass der mögliche Schaden gering bleibt und die Nachvollziehbarkeit bei Schabernack und Missbrauch gestiegen ist.
[1] nach Anzahl gehosteter Kunden
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom