Sto usando la seguente tecnica ...PHP - rendere sessione scadono dopo X minuti
Dal login.php
il modulo messaggi alla pagina check.php
in cui faccio questo
<?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");
}
?>
e sulla loggedin.php
pagina prima cosa che faccio è
<?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
}
?>
ma una volta effettuato l'accesso quando si digita direttamente l'url localhost\myProject\loggedin.php
visualizza la pagina ... che rende perfettamente senso, perché la sessione è iniziata
quello che voglio implementare è
- L'URL \ sessione diretta funziona per 10 minuti dopo che la sessione è terminata \ scaduto \ scaduta e quindi l'uso deve accedere di nuovo e può ottenere lo stesso ID di sessione, ma dopo 10 minuti di utilizzo non sarà in grado di navigare con la stessa sessione di
COSA DEVO FARE o imparare
Vedi [Come faccio a scadere una sessione PHP dopo 30 minuti?] (Http://stackoverflow.com/questions/520237/how-do-i-expire-a-php-session-after-30-minutes) – Gumbo
So questa è una domanda molto vecchia, ma questo è un ottimo risultato per diverse ricerche di sessione in Google. Chiunque legga questo dovrebbe essere consapevole del fatto che il codice nella domanda è estremamente insicuro e suscettibile all'iniezione SQL. Non vorremmo che i principianti su Google prendessero cattive abitudini. :-) Questa domanda su SO dovrebbe essere d'aiuto se vuoi saperne di più: http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php –