Kilépés után azonosítás nélkül enged be újra a rendszer
Sziasztok!
Van egy beléptetőrendszerem, és van egy kis hibája. Ha az user beírja az adatát akkor elviszi őt az oldalára, mondjuk http://sanyika.hu/tied.php -ra. Viszont ha kilép és beírja a böngészőbe "http://sanyika.hu/tied.php" akkor belépés nélkül is be tud menni a saját oldalára sajna :(
Ezt szeretném valahogy kiküszöbölni a ti segítségetekkel
Köszi előre is
■ Van egy beléptetőrendszerem, és van egy kis hibája. Ha az user beírja az adatát akkor elviszi őt az oldalára, mondjuk http://sanyika.hu/tied.php -ra. Viszont ha kilép és beírja a böngészőbe "http://sanyika.hu/tied.php" akkor belépés nélkül is be tud menni a saját oldalára sajna :(
Ezt szeretném valahogy kiküszöbölni a ti segítségetekkel
Köszi előre is
session
session_start()
, és csinálj$_SESSION
változót, aminek a az értéke true. A tied.php-ban, meg az összes belső oldalban legyen benne ez a rész (ezt célszerű egy globális fejléccel megoldani,require("header.php");
), ami megvizsgálja, hogy a létrehozott session változó értéke mi, ha true, akkor megjelenik az oldal, ha false, akkor visszadobja a loginra.erre egy egyszerű kis kód, ez kerüljön be minden privát oldal elejébe:
header.php
session_destroy();
, így nem tud visszalépni más, csak passworddel.ajaj
Segítenél, hogy mit hova irjak?Ez a belépés oldalam kódja, és nem tudom a sessional hogy egészítsem ki
<?
$localhost = "localhost";
$db_user = "";
$pwd = "";
$database = "";
mysql_pconnect($localhost,$db_user,$pwd);
mysql_select_db($database);
if ($_POST[user] <> "" and $_POST[pass] <> "") {
$incpage = open_page($_POST[user], $_POST[pass]);
include "$incpage";
}
function open_page($username, $password) {
$inc = "";
$query = "SELECT page FROM access WHERE username='$username' and password='$password'";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_array($result);
$inc = $row[page];
}
else {
$inc = "hibas_username_vagy_password.php";
}
return $inc;
}
?>
header.php
Köszike nagyon rendes vagy
amit most küldtél kódott azt rakjam be abba az oldalba ahol be tudják irni a felhasználók az adatait. ez elsőt meg minden oldalba ahova ugratja őket? csak módositanin kell ezt is?
<?php
session_start();
// teszteljük sikerült-e a bejelentkezés
if ($pass && $user) if (testlogin($pass,$user)) $_SESSION['IN'] = true;
// teszteljük benn van-e a user
if (!$_SESSION['IN'])
{
session_destroy();
header("location: login.php");
exit;
// ha nincs, akkor irány vissza a login.php
// ezzel lekezeltük a hibás belépést is
}
?>
nem nem
ajaj
gondold végig mit csinálsz