|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
| 27.04.2011, 20:36
also ich hab auf der server root nen folder "showcase"
www.test.de/showcase
darin befindet sich nen index php die nach nem pw fragt
von der seite aus wird dann in subverzeichnisse angesprochen
wie zb
www.test.de/showcase/modules/index.html
jezt will ich aber das der nutzer diese sub directories nicht direct ansprechen kann via url c&p im browser sonder bei so ner url paste geschichte auf die index geschckit wird zum pw eingeben
hab das mit htacess und "DirectoryIndex index.php" versucht aber dann kann ich nicht mehr in die subfolder linken von der index.php in root aus ( 403 error)
jmd ne idee
schon was von mod_rewrite gehoert aber brauche nen anstossno one died when clinton lied |
|
Werbung |
Beiträge: 0 Registriert: Feb 2016
| |
|
Beiträge: 1004 Registriert: Jul 2008
| 27.04.2011, 21:19
Hallo,
für sowas würde ich lieber Sessions nutzen.
Beim Login wird eine Session mit Benutzername und IP-Adresse angelegt. Auf den Unterseiten findet als allererstes eine Prüfung statt, ob in der Session der Benutzername gesetzt wurde und ob die IP übereinstimmt. Falls ja, wird der Seiteninhalt angezeigt, andernfalls erfolgt eine Weiterleitung per header("Location: http://www.test.de/showcase/"); dann ist der User auf der Login-Seite.
Grüße,
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. |
|
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 27.04.2011, 21:31
haste nen tutorial bei der hand ansonsten frag ich mal tante google heute abend
danke schonmalno one died when clinton lied |
|
|
Beiträge: 1004 Registriert: Jul 2008
| 27.04.2011, 21:39
Hallo,
Tutorial leider nicht, aber das ist nicht schwer:
1. Anlegen der Session und speichern der Variablen:
PHP:1 2 3 4 5 6
|
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$_SESSION['ip'] = $ip;
$_SESSION['user'] = $user;
?>
|
2. Überprüfen ob Benutzer eingeloggt:
ActionScript:1 2 3 4 | <?php
session_start();
if (!isset ($_SESSION['user']) || $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) header ("Location: http://www.test.de/showcase/");
?>
|
Grüße,
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. |
Geändert von Kerstin77 am 27.04.11 um 22:57 Uhr | |
|
Werbung |
Beiträge: 0 Registriert: Feb 2016
| |
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 27.04.2011, 22:51
sauber danke !
wie soll ichs am besten anstellen:
kann ich das so in nen include pfeffern so das ich nicht c&p auf alle seiten muss?
edit:
- beim directen uebernehmen kam der fehler das "user" undefiniert ist
- muessen beide teile in allen sein ?
nein oder es reicht wenn erstellen in index passiert und in allen subfolder indexen der abfrage part passeirt ?
- beim test konnte ich ohne probleme auf die subseite index kommen um den fehler zu umgehen hab ich: $user = $_SERVER['REMOTE_ADDR'];
kam kein fehler mehr aber ich != phpno one died when clinton lied |
Geändert von skoda am 27.04.11 um 23:10 Uhr | |
|
|
Beiträge: 1004 Registriert: Jul 2008
| 27.04.2011, 23:01
Die Überprüfung kannst Du per include einfügen, allerdings muss der include-Befehl dann wieder in jede Datei.
Die Session speicherst Du nach dem Login (weiß jetzt nicht wie Du das umgesetzt hast). Wichtig bei der Benutzung von Sessions: als allererstes immer session_start(); benutzen (am Anfang der PHP-Datei).
Falls Du einen Logout hast, solltest Du auch die Session wieder löschen:
PHP:1 2 3 4 5
|
<?php
session_start();
session_destroy();
?>
|
Grüße,
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. |
|
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 27.04.2011, 23:11
hab oben edit gemacht waehred deines postsno one died when clinton lied |
|
|
Beiträge: 1004 Registriert: Jul 2008
| 27.04.2011, 23:13
Wie machst Du das Login?Wer Rechtschreibfehler findet, darf sie gerne behalten. |
|
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 27.04.2011, 23:17
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
<?php
session_start();
ini_set ("display_errors", "1"); // At the top of the page for page errors.
error_reporting(E_ALL); // At the top of the page for page errors
?>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$user = $_SERVER['REMOTE_ADDR'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['user'] = $user;
?>
<?php
/************************************************************************/
/* PHP Simple PasswordProtect v1.0 */
/* =========================== */
/* */
/* Written by Steve Dawson - http://www.stevedawson.com */
/* Freelance Web Developer - PHP, MySQL, HTML programming */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* but please leave this header intact, thanks */
/************************************************************************/
##########################################################################
$password = "****"; // Modify Password to suit for access, Max 10 Char.
##########################################################################
?>
<?php
echo '<head>';
echo ' <link rel="stylesheet" href="scripts/nivo-slider.css" type="text/css">';
echo ' <link rel="stylesheet" href="scripts/styleROT.css" type="text/css">';
echo '</head>';
?>
<?php
// print "<h3 align=\"center\">Gorillashell Showcase 2011</h3>";
// If password is valid let the user get access
if (isset($_POST["password"]) && ($_POST["password"]=="$password")) {
?>
<!-- START OF HIDDEN HTML - PLACE YOUR CONTENT HERE -->
|
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<!-- END OF HIDDEN HTML -->
<?php
}
else
{
// Wrong password or no password entered display this message
if (isset($_POST['password']) || $password == "") {
print "<p align=\"center\"><font color=\"red\"><b>Incorrect Password</b><br>Please enter the correct password</font></p>";}
print "<form method=\"post\"><p align=\"center\">Please enter your password for access<br>";
print "<input name=\"password\" type=\"password\" size=\"25\" maxlength=\"10\"><input value=\"Login\" type=\"submit\"></p></form>";
}
?>
|
no one died when clinton lied |
Geändert von skoda am 27.04.11 um 23:19 Uhr | |
|
|
Beiträge: 1004 Registriert: Jul 2008
| 27.04.2011, 23:30
Ah ok, also nur ein Passwort für alle Benutzer.
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?php
session_start();
ini_set ("display_errors", "1"); // At the top of the page for page errors.
error_reporting(E_ALL); // At the top of the page for page errors
/************************************************************************/
/* PHP Simple PasswordProtect v1.0 */
/* =========================== */
/* */
/* Written by Steve Dawson - http://www.stevedawson.com */
/* Freelance Web Developer - PHP, MySQL, HTML programming */
/* */
/* This program is free software. You can redistribute it and/or modify */
/* but please leave this header intact, thanks */
/************************************************************************/
##########################################################################
$password = "****"; // Modify Password to suit for access, Max 10 Char.
##########################################################################
echo '<head>';
echo ' <link rel="stylesheet" href="scripts/nivo-slider.css" type="text/css">';
echo ' <link rel="stylesheet" href="scripts/styleROT.css" type="text/css">';
echo '</head>';
// print "<h3 align=\"center\">Gorillashell Showcase 2011</h3>";
// If password is valid let the user get access
if (isset($_POST["password"]) && ($_POST["password"]=="$password")) {
$ip = $_SERVER['REMOTE_ADDR'];
$user = "Username";
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['user'] = $user;
?>
<!-- START OF HIDDEN HTML - PLACE YOUR CONTENT HERE -->
|
Und dann in jede Datei die nicht ohne Login angezeigt werden soll:
PHP:1 2 3 4 5
|
<?php
session_start();
if (!isset ($_SESSION['user']) || $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) header ("Location: http://www.test.de/showcase/");
?>
|
Grüße,
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. |
|
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 28.04.2011, 03:35
scheint so zu klappen
vielen lieben dank kerstin
noch zum verstaendiss waurm muss ich denn jedes mal die session startenbei den sub seiten - logisch waer doch eigentlich nur einmal in der index ?no one died when clinton lied |
Geändert von skoda am 28.04.11 um 05:14 Uhr | |
|
|
Beiträge: 1004 Registriert: Jul 2008
| 28.04.2011, 07:57
Um PHP mitzuteilen, daß die Seite mit Sessions arbeitet. Ruft jemand eine Unterseite direkt auf, würde die Auswertung nicht funktionieren.Wer Rechtschreibfehler findet, darf sie gerne behalten. |
|
|
Beiträge: 1189 Wohnort: Boston MA Registriert: Feb 2006
Themenautor/in
| 28.04.2011, 16:54
aha
super und danke nochmalno one died when clinton lied |
|