i die folgende Technik verwende ...PHP - machen Sitzung verfallen nach X Minuten
Vom login.php
die Formular Beiträge auf die Seite check.php
wo ich dies tun
<?php
$uzer = $_POST['user_name'];
$pass = $_POST['user_pass'];
require ('DB_connection.php');
$result = mysql_query("SELECT * FROM accounts WHERE user_Name='$uzer' AND user_Pass='$pass'");
if(mysql_num_rows($result) > 0)
{
$array = mysql_fetch_assoc($result);
session_start();
$_SESSION['user_id'] = $uzer;
header("Location:loggedin.php");
}
else
{
header("Location:login.php");
}
?>
und auf loggedin.php
Seite der das erste, was ich tun ist
<?php
session_start();
if(!isset($_SESSION['user_id']))
{
header("Location:login.php");
}
else
{
echo ("this session is ". $_SESSION['user_id']);
//show rest of the page and all
}
?>
aber einmal eingeloggt, wenn ich die uRL direkt eingeben localhost\myProject\loggedin.php
es zeigt die Seite ... Das macht durchaus Sinn, da die Sitzung
begonnen hat ich will, was implementieren ist
- Die direkte URL \ Sitzung für 10 Minuten nach dem arbeitet, dass die Sitzung beendet wird \ abgelaufen \ abgelaufen und dann muss Verwendung anmelden kann die gleiche Session-ID erhalten immer aber nach 10 Minuten Gebrauch nicht in der Lage sein, mit der gleichen Sitzung
zu durchsuchen, was ich tun tun müssen, oder lernen,
Siehe [Wie veralte ich eine PHP-Sitzung nach 30 Minuten ab?] (Http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes) – Gumbo
Ich weiß Dies ist eine sehr alte Frage, aber dies ist ein Top-Ergebnis für mehrere Session-Suchen in Google. Jeder, der dies liest, sollte sich bewusst sein, dass der Code in der Frage extrem unsicher und anfällig für SQL-Injection ist. Wir möchten nicht, dass Anfänger googeln, um schlechte Angewohnheiten aufzugreifen. :-) Diese Frage auf SO sollte helfen, wenn Sie mehr erfahren möchten: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php –