password-sperre in website einbauen
lima-city → Forum → lima-city Allgemein → lima-city Allgemein
artikel
aufrufen
code
datei
dialog
file
format
formular
gedanke
header
http
login
not
scharf nachdenken
schutz
session
url
versuch
vorstellen
wissen
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ist es nicht ein wenig sinnlos Seiten sichern zu wollen die deine Besucher gar nicht erst finden sollen/können?
-
Das IST möglich.
Du machst ein PHP-Script dass bei bestimmten Bedingungen eine Seite anzeigt und sonst eine 404-Fehlermeldung zurückgibt (am besten genau das ErrorDocument) damit man gar nicht merkt dass das eigentlich eine existierende Seite ist die nur versteckt ist.
Wie du das mit dem Passwort machen möchtest dass die Seite nicht gefunden werden kann (wo das Passwort eingegeben wird) weiß ich nicht. -
oder du baust ein megatag ein:
<meta name="robots" content="noindex, nofollow" /> (auf ALLEN Seiten einbauen)
Damit findet deine Webseite GOOGLE und Co nicht -
tobilektri schrieb:
oder du baust ein megatag ein:
<meta name="robots" content="noindex, nofollow" /> (auf ALLEN Seiten einbauen)
Damit findet deine Webseite GOOGLE und Co nicht
Finden schon, nur die meisten Anbieter sind freundlich und veröffentlichen die Seite dann nicht ;)
Ich würd' zusätzlich noch 'ne robots.txt mit entsprechenden Verboten auf den Server legen... -
Sicher geht das. Du brauchst dazu eine Login-Seite, auf der du dich einloggen kannst (diese ist dann natürlich für alle Nutzer zu sehen, da du ja nicht eingeloggt sein musst, um das Login-Formular einsehen zu können).
Auf dieser Seite erstellst du nach erfolgreichem Login eine Session, die abspeichert, dass du eingeloggt bist:
<?php if ( $_POST['password'] == '123456' ) { $_SESSION['eingeloggt'] = TRUE; }
Auf der anderen Seiten, bei der du verhindern möchtest, dass man überhaupt erkennt, dass die Seite vorhanden ist, musst du nun überprüfen, ob der Session-Eintrag erstellt wurde:
<?php if ( $_SESSION['eingeloggt'] === TRUE ) { //... Ausgabe von interner Seite } else { print $error_seite; }
Dabei muss die Error-Seite natürlich den HTML-Code enthalten, der angezeigt werden soll, und der auch sonst immer angezeigt wird, wenn man eine Seite aufruft, die nicht existiert.
Alternativ kannst du auch bei nicht vorhandenem Login eine Weiterleitung einrichten, die auf eine standardisierte Error-Seite verweist:
<?php ... else { header('Location: http://example.com/404'); }
-
mermadalis schrieb:
Das ist zwar nett gemeint, du musst aber mit
Dabei muss die Error-Seite natürlich den HTML-Code enthalten, der angezeigt werden soll, und der auch sonst immer angezeigt wird, wenn man eine Seite aufruft, die nicht existiert.
den HTTP-Header so setzen dass auch wirklich jeder Browser weiß dass diese Seite nicht existiert.header('HTTP/1.1 File Not Found');
Sessions müssen erst mit
initialisiert werden, sonst funktioniert $_SESSION nicht!session_start();
mermadalis schrieb:
Das ist wirklich nicht gut, weil dann bekannt ist das es diese Seite doch irgendwie gibt. Gib hier statt dieser Weiterleitung einen Code wie diesen hin:
<?php ... else { header('Location: http://example.com/404'); }
Damit sieht es so aus als ob diese Seite gar nicht existieren würde. Es sieht so aus als ob man sich bei der URL vertippt hätte! (errorpages/404.php muss natürlich die Fehlerseite sein!)<?php ... else { header('HTTP/1.1 File Not Found'); include('errorpages/404.php'); exit(); }
-
hey das wollte ich auch wissen..
ähm könnte mir jemand erklären wie man so eine 404 seite macht??
ich kann auch ein neues thema dazu im forum machen wenn es nicht hier her gehört !!! -
applehaterz schrieb:
hey das wollte ich auch wissen..
ähm könnte mir jemand erklären wie man so eine 404 seite macht??
ich kann auch ein neues thema dazu im forum machen wenn es nicht hier her gehört !!!
Würde mal sagen einfach mal eine fehlerhafte Steite aufrufen die es nicht gibt und diese dann abspeichern (im Firefox unter: Datei > Seite speichern unter... > und dann das Format usw. auswählen).
Wäre zumindest mein erster Gedanke hierzu.
Lg -
thomas463 schrieb:
Würde mal sagen einfach mal eine fehlerhafte Steite aufrufen die es nicht gibt und diese dann abspeichern (im Firefox unter: Datei > Seite speichern unter... > und dann das Format usw. auswählen).
Wäre zumindest mein erster Gedanke hierzu.
Lg
cool danke aber unter welchem format muss ich das abspeichern? hab was von diesem .htacess oder so gehört.?? -
Als .html am besten.
Ist aber ziemlich egal wenn du sie includest.
.htaccess gibt deinem Webserver gewisse Siucherheitsrichtlinen vor, was er mit den Seiten machen soll. (Wer darf zugreifen etc...) -
Eine 404-Seite erstellst du so:
<?php header('HTTP/1.0 404 File Not Found'); include('pfad/zu/404.php'); ?>
404.php ist dein ErrorDocument, welches du in der .htaccess-Datei festgelegt hast:ErrorDocument 404 /error/404.php
Du solltest hier deshalb das ErrorDocument mit include einbinden damit es wirklich so aussieht als ob die Seite nicht existieren würde.
Beispielsweise liegt bei mir im /error-Ordner ein index.php mit folgendem Inhalt:<?php header('HTTP/1.0 404 File Not Found'); include('404.php'); ?>
Der 404-Header sagt dem Browser dass die Datei nicht gefunden werden konnte. Im Internet-Explorer wird der restliche Text gar nicht angezeigt wenn die Seite kleiner als 500 Bytes ist. -
medienag schrieb:
Ich habe ma gehört das du das auch bei HTML machen kannstaber ich weiß nicht mehr genau wie das geht einfach ma googlen.
lg Fabi
Nein, gibt es nicht.
Ein sicherer Passwortschutz ist übrigens auch mit JS nicht möglich.
Eine Lösung wäre ein Sessionbasiertes Loginsystem, aber das hörten wir ja bereits.
Siehe http://aktuell.de.selfhtml.org/artikel/php/loginsystem/
Beitrag zuletzt geändert: 23.1.2012 20:16:08 von gatterer -
gatterer schrieb:
Das ist in Verbindung mit Google schon gut, aber du solltest für alle Seiten für die ein Login benötigt wird wenn man nicht eingeloggt ist eine 404-Fehlerseite anzeigen.
Ein sicherer Passwortschutz ist übrigens auch mit JS nicht möglich.
Eine Lösung wäre ein Sessionbasiertes Loginsystem, aber das hörten wir ja bereits.
Siehe http://aktuell.de.selfhtml.org/artikel/php/loginsystem/
Was ich damit meine:<?php if($_SESSION['eingeloggt']) { ?> <html><body>Ganz normales geschütztes und verstecktes Dokument</body></html> <?php } else { header('HTTP/1.0 404 FileNotFound'); include('error/404.php'); } ?>
-
Da ich mich auch gerade mit diesem Thema beschäftige habe ich auch schon einiges im I-net durchsucht und bin da auf folgende Seite gestoßen:
http://www.tsql.de/php/login_syste_mysql_ohne_cookies_implementierung
Lg
Beitrag zuletzt geändert: 23.1.2012 21:01:07 von thomas463 -
Natürlich könnte auch die HTTP-Authentifizierung benutzt werden (was man auch über htaccess erreichen kann). Die HTTP-Authentifizierung lässt sich auch von PHP aus steuern, so das .htaccess-Dateien gar nicht benötigt werden.
Die Authentifizierung über HTTP hat den Vorteil dass keine Cookies entstehen und auch kein URLrewrite benötigt wird (was normalerweise bei Session-basierten Systemen die Alternative zu Cookies darstellt). -
Das geht ganz einfach:
Du brauchst erst ein Formular:
<form method="POST">
Username:<input type="text" name="user">
Passwort:<input type="text" name="passwort">
</form>
das fügst du bei deiner html ( auf der seite wo du willst ein),
jetzt noch ein kleiner php teil:
if($_POST[user] == "der username")
{
if($_POST[passwort] == "dein passwort")
{
der link deiner seite
}
}
else
{
echo "Falscher Username";
}
-
blacknats schrieb:
Das geht ganz einfach:
Du brauchst erst ein Formular:
<form method="POST">
Username:<input type="text" name="user">
Passwort:<input type="text" name="passwort">
</form>
das fügst du bei deiner html ( auf der seite wo du willst ein),
jetzt noch ein kleiner php teil:
if($_POST[user] == "der username")
{
if($_POST[passwort] == "dein passwort")
{
der link deiner seite
}
}
else
{
echo "Falscher Username";
}
Das ist so nicht richtig, wenn da ein Link ist.
Wer es immer noch nicht verstanden hat, sollte sich den Link zu Google darin vorstellen und mal scharf nachdenken, ob Google jetzt geschützt ist.
Auch ist ein solcher "Schutz" nicht ganz sicher, da ich hier mehrfach einen Namen und Passwort eingeben kann. Das heißt ich kann das Passwort und den Namen erraten und wenn ich Glück hab, erhalte ich einen Treffer nach dem 5000ten Versuch. Dies sollte durch gewisse Schutzmaßnahmen erschwert werden.
Beitrag zuletzt geändert: 3.2.2012 21:34:22 von ener -
ener schrieb:
Dieses Verfahren wird Brute-Force genannt, und du wirst bei einem lang genugen Benutzernamen (den du nicht kennst) sowie einem sicheren Passwort ewig brauchen um es zu knacken.
Auch ist ein solcher "Schutz" nicht ganz sicher, da ich hier mehrfach einen Namen und Passwort eingeben kann. Das heißt ich kann das Passwort und den Namen erraten und wenn ich Glück hab, erhalte ich einen Treffer nach dem 5000ten Versuch. Dies sollte durch gewisse Schutzmaßnahmen erschwert werden.
Ein Brute-Force-Angriff ist also eher unwahrscheinlich...
ener schrieb:
Wenn der Link sonst nirgendwo aufscheint hat Google auch keine Chance die Seite zu finden. Also sogesehen ist der Link auch geschützt. Trotzdem ist das Verfahren unsicher, da sobald jemandem der Link bekannt ist der ganze Schutz umgangen wird (Beispiel: "Virtual XP Mode"-Download auf der Microsoft-Seite, der nur für Windows 7 Ultimate-Benutzer sichtbar sein sollte).
Das ist so nicht richtig, wenn da ein Link ist.
Wer es immer noch nicht verstanden hat, sollte sich den Link zu Google darin vorstellen und mal scharf nachdenken, ob Google jetzt geschützt ist.
Viel sinnvoller ist es da statt einem Link den gesamten Inhalt der Seite anzuzeigen, denn dann wird der Benutzername und das Password benötigt, um den Inhalt zu sehen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage