Passwortgeschützter Bereich innerhalb der Website

Ich will in meiner Homepage einen internen Bereich für spezielle Leute einrichten. Dort soll man sich nicht anmelden können, sondern nur durch eine Veränderung im Quelltext soll ein solcher Account möglich sein.

Kann mir jemand helfen oder einen Quelltext geben?

Danke im Voraus,
searchandfind

Moin,

das einfachste wäre Server Authentication:
Authentication, Authorization and Access Control - Apache HTTP Server

Gruß,
-Efchen

Auch auf deutsch?

Gibt’s diese oder eine ähnliche Seite auch auf Deutsch?
Wäre gut, denn ich hab nicht die Zeit, die gesamte Seite zu übersetzten

Könnte ich mir schon vorstellen. Kann ich Dir aber nicht sagen.

Ich weiß net ob ichs richtig verstehe, aber warum net ein einfaches formular und

[php]

<?php $user = array( array('username1','password1'), array('username2','password2'), array('username3','password3') ); $a = $_Post['username']; if (!empty($_Post['password']) && $_Post['password'] == $user[$a][1]) { $meberzone_erlaubt = true; } else { $meberzone_erlaubt =false; } unset ($a); include ("member.php") //Hier die Memberphp: if ($meberzone_erlaubt) { echo 'Interner Berreich'; } ?>

[/php]
Für nichts professionelles reichts auf alle mal!
Zur sicherheit kannste dir auch mal die md5() funktion auf selfphp anschauen!

[edit]

Sorry, der Script war falsch

[php]

<?php $user['username1'] = "passwort1"; $user['username2'] = "passwort2"; $a = $_Post['username']; if (!empty($_Post['password']) && $_Post['password'] == $user[$a]) { $meberzone_erlaubt = true; } else { $meberzone_erlaubt =false; } unset ($a); include ("member.php"); //Hier die Memberphp: if ($meberzone_erlaubt) { echo 'Interner Berreich'; } ?>

[/php]

wenn du schon müll postest, dann bitte richtig. Dein Code kann nicht funktionieren
[php]
$user[$a][1]
[/php]
damit kannst du nicht auf das array zugreifen, es würde vorraussetzen, dass das array so aussähe
[php]
array(„username1“=>array(null,„password1“));
[/php]
außerdem fehlt beim include ein ;…

Wenn schon, dann bitte richtigen Code posten!

Ist mir schon längst aufgefallen dieser „Müll“. Ist dir auch schon aufgefallen was unter [edit] steht?

wie sollte ich,

Geändert von CGollhardt (Heute um 18:39 Uhr).

Frank Heute 18:21

schauma auf die Uhr

Habe deinen ; geändert, das andere war schon geändert. Naja auch egal

also ich hab jetzt den code, aber wohin damit?
an welche stelle im quelltext muss ich das tun, damit’s funktioniert?

da wos eingesetzt werden soll, vorzugsweise unter das login-formular.

Nils aka XraYSoLo

Naja du hast doch ein formular und das ist die action Datei dazu.
Das unter dem Kommentar ist eine extradatei, die bei erfolgreichem Login über include geladen wird.

Login.php

<form method="post" action="LoginVerarbeitung.php">
<input name="username" type="text">
<input name="password" type="password">
<input type="submit">
</form>

LoginVerarbeitung.php
[php]
$user = array(
array(‚username1‘,‚password1‘),
array(‚username2‘,‚password2‘),
array(‚username3‘,‚password3‘)
);
$a = $_Post[‚username‘];
if (!empty($_Post[‚password‘]) && $_Post[‚password‘] == $user[$a][1]) {
$meberzone_erlaubt = true;
} else {
$meberzone_erlaubt =false;
}
unset ($a);
include („member.php“)
?>
[/php]
member.php
[php]
if ($meberzone_erlaubt) {
echo ‚Interner Berreich‘;
} else {
echo ‚Sie haben keinen Zugriff‘;
}
[/php]

ich hab hier ein turitorial gefunden (), darin stehen folgende scripte:

login.php:

[CODE]

Benutzername:
Passwort:
[/CODE]

secure.php:

[CODE]<?php
session_start();
if($_POST[‚p_submit‘] == 1) {
$_SESSION[‚s_user‘] = $_POST[‚p_user‘];
$_SESSION[‚s_password‘] = md5($_POST[‚p_password‘]);
}
$login = false;

$file = file(‚db.txt‘);
if($_SESSION[‚s_user‘] != ‚‘ && $_SESSION[‚s_password‘] != ‚‘)
foreach($file as $row) {
$row = explode(„\t“, $row);

$user = trim($row[0]);
$password = trim($row[1]);

if($user == $_SESSION['s_user'] && $password == $_SESSION['s_password']) {
	$login = true;	
}

}

if($login == false) {
if($_POST[‚p_submit‘] == 1)
echo ‚Fehler beim Login. Benutzername und/oder Passwort nicht korrekt.‘;
else
echo ‚Bitte anmelden‘;

require('login.php');
die();

}
?>[/CODE]

admin.php:

[CODE]<?php require('secure.php'); ?>

TO SECURE[/CODE]

logout.php:

[CODE]<?php session_start(); session_destroy(); ?>

Erfolgreich vom System abgemeldet[/CODE]

registrierung.php:

[CODE]<?
if($_POST[‚submit‘] == 1) {

	$line = $_POST['user'] ."\t". md5($_POST['password'])."\n";
	$handle = fopen('db.txt', "a");
	fwrite($handle, $line)or die('Fehler beim Schreiben');
	fclose($handle);

}
?>

Benutzername:
Passwort:
[/CODE]

wenn ich jetzt aber registrierung.php öffne und auf registrieren klicke, kommt folgende fehlermeldung:

Datei nicht gefunden
Die Dateien unter /C:/…/<?php echo $_SERVER['PHP_SELF']; ?> konnten nicht gefunden werden.

das gleiche kommt auch, wenn ich bei login.php auf login klicke

Und die Überprüfung des Users muss natürlich auch auf jede Seite, die besonders geschützt werden soll, deswegen halte ich die „Lösung“ von CGollhardt für viel zu umständlich.
Aber meine Lösung war ja englisch (wie übrigens HTML, CSS PHP uvm auch) und deswegen unpraktisch. Naja, dann bastelt Euch Eure Scripts :slight_smile: