Ich schütze bestimmte Inhaltsseiten mit einer Passwortabfrage, für die ich ein benutzerdefiniertes Syntaxelement, etwas PHP und weiter nichts benötige.
Versuch macht klug auf http://www.progt.de (Testeiten 1 bis 3). Anmelden mit Test und Test.
Promoz
Benutzerdefiniertes Syntaxelement:
Einbinden in Inhaltsseite:
Die Datei usersess.php
Die Datei usersesspw.php
Die Datei usersessconf.php
Versuch macht klug auf http://www.progt.de (Testeiten 1 bis 3). Anmelden mit Test und Test.
Promoz
Benutzerdefiniertes Syntaxelement:
Zitatusersess = <div class="usersess">{VALUE}</div>oder
Zitatusersess = <div style="display:none">{VALUE}</div>
Einbinden in Inhaltsseite:
Code Auswählen
[php|session_start();
$_SESSION^["_catpage_"^] = "index.php?cat={CATEGORY}&page={PAGE}";
$_SESSION^["_pageurl_"^] = "kategorien/{CATEGORY}/{PAGE_FILE}";
include("myphp/usersess/usersess.php");]
[usersess|[ueber1|Testseite 1]
Eine [fett|wunderbare] große Heiterkeit hat meine <h2>ganze Seele</h2> eingenommen, gleich den süßen Frühlingsmorgen, die ich mit <b>ganzem Herzen</b> genieße. Ich bin allein und freue mich meines Lebens in dieser Gegend, die für solche Seelen geschaffen ist wie die meine. Ich bin so glücklich, mein Bester, so ganz in dem Gefühle von ruhigem Dasein versunken, daß meine Kunst darunter leidet. <br /><b>Ich</b> könnte jetzt nicht zeichnen, nicht einen Strich, und bin nie ein größerer Maler gewesen als in diesen Augenblicken. Wenn das liebe Tal um mich dampft, und die hohe Sonne [kursiv|an der Oberfläche der undurchdringlichen Finsternis] meines Waldes ruht, und nur einzelne Strahlen sich in das innere Heiligtum stehlen, ich dann im hohen Grase am fallenden Bache liege, und näher an der Erde tausend mannigfaltige Gräschen mir merkwürdig werden; wenn ich das der <a href='http://www.spexard.de'>(Link nach Spexard)</a> kleinen Welt zwischen Halmen, die unzähligen, unergründlichen Gestalten der Würmchen, der <h1>Mückchen</h1> näher an meinem Herzen fühle, und fühle die Gegenwart des Allmächtigen, der uns nach seinem Bilde schuf, das Wehen des Alliebenden, der uns in ewiger Wonne schwebend trägt und erhält; mein Freund! Wenn's dann um meine Augen dämmert, und die Welt um mich her und der Himmel ganz in meiner Seele ruhn wie die Gestalt einer...<br />
[fett|Dies ist ein Typoblindtext.] An ihm kann man sehen, ob alle Buchstaben...
]
Die Datei usersess.php
Code Auswählen
<?php
$_SESSION["_sid_"] = session_id();
require_once("usersessconf.php");
if($_REQUEST["_logout_"]):
$_catpage = $_SESSION["_catpage_"];
$_SESSION = array();
if(isset($_COOKIE[session_name()])):
setcookie(session_name(), '', time()-42000, '/');
endif;
session_destroy();
header("Location:$_catpage");
endif;
if($_REQUEST["_login_"]):
if(UserCheck($_REQUEST["_username_"],$_REQUEST["_userpw_"])):
$_SESSION["_logok_"] = true;
else:
$_SESSION["_logok_"] = false;
$_fehler = "<span style='color:#6F6F6F;font-weight:bold'>Login-Fehler!<span>";
endif;
endif;
if($_SESSION["_logok_"] == true):
echo ReadDat($_SESSION["_pageurl_"]);
echo "<br /><br /><div>".
"<form name='logout_form' action='$PHP_SELF' method='post'>".
"<input class='uss_logformsubmit' type='submit' name='_logout_' value='Abmelden'>".
"</form>".
"</div>";
else:
echo "<div class='uss_loginform'>".
"<form name='login_form' action='$PHP_SELF' method='post'>".
"<table class='uss_loginform'>".
"<tr><td class='uss_loginformtext' colspan='2'>".
"Für diese Seite bitte einloggen:".
"</td></tr>".
"<tr><td class='uss_loginformtext' colspan='2'>".
substr(strrchr($_SESSION["_catpage_"],"_"),1).
"</td></tr>".
"<tr><td class='uss_loginform'>".
"Name:".
"</td><td class='uss_loginform'>".
"<input class='uss_loginform' name='_username_' type='text' size='20' value=''>".
"</td></tr><tr><td class='uss_loginform'>".
"Passwort:".
"</td><td class='uss_loginform'>".
"<input class='uss_loginform' name='_userpw_' type='password' size='20' value=''>".
"</td></tr><tr><td style='text-align:right' colspan='2'>".
"<input class='uss_logformsubmit' type='submit' name='_login_' value='Anmelden'>".
"</td></tr>".
"</table>".
"</form>".
$_fehler.
"</div>";
endif;
function UserCheck($_name,$_pw)
{
$_name = trim($_name);
$_pw = trim($_pw);
$_userall = file(USERSESS_DIR."/usersesspw.php");
for($_i=0;$_i<count($_userall);$_i++):
if(substr(trim($_userall[$_i]),0,1) != ".") continue;
list($_a,$_b,) = explode("|",trim($_userall[$_i]));
if(substr($_a,1) == $_name && $_b == md5($_pw)):
return true;
else:
continue;
endif;
endfor;
return false;
}
function ReadDat($_dat)
{
$_content = file_get_contents($_dat);
$_content = substr(trim($_content),strpos($_content,"[usersess|")+10);
$_content = substr($_content,0,strrpos($_content,"]"));
return $_content;
}
?>
Die Datei usersesspw.php
Code Auswählen
<?php
if(substr_count($_SERVER["REQUEST_URI"],"usersesspw.php") != 0):
header("Location:index.php");
endif;
?>
// Ab hier Usereinträge: (Dot)Name|MD5-Passwortcode
.Test|0cbc6611f5540bd0809a388dc95a615b
Die Datei usersessconf.php
Code Auswählen
<?php
if(substr_count($_SERVER["REQUEST_URI"],"usersessconf.php") != 0):
header("Location:index.php");
endif;
// Ab hier Konfigurations-Einstellungen
// definieren oder bearbeiten
define("USERSESS_DIR","myphp/usersess");
?>