Cita:
Iniciado por webankenovi
tienes que identificar que el propietario de la session sea el mismo del que la creo, tan solo con un identificador de session no es suficiente ya que puede ser alterado y las consecuencias que conlleva , tendras que crear alguna session que identifique al usuario en el momento de crear la session ya sea con las cabeceras , ips , etc....
un ejemplo sencillito
$_SESSION['admin'] = sha1($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].'CLAVE');
Código PHP:
Ver original<?php
if ( isset($_SESSION['admin']) and
$_SESSION['admin'] == sha1($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].'CLAVE')) echo "Usuario con acceso a administración";
?>
Es tan solo un ejemplo
user agent y la ip igualmente puede ser alterado
tambien puedes crear una cookie ademas de la cookie de session
Código PHP:
Ver original$_SESSION['admin'] = sha1($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].'CLAVE');
setcookie('ID_ADMIN',session_id());
<?php
if ( isset($_SESSION['admin']) and
$_SESSION['admin'] == sha1($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR'].'CLAVE') and
isset($_COOKIE['ID_ADMIN']) and
$_COOKIE['ID_ADMIN'] == session_id()) echo "Usuario con acceso a administración";
?>
En una sola palabra:
Perfecto.
Lo que sí la IP no la usaré por el tema del uso de VPNs, proxies, etc.
Ya he creado una función y me queda retocarla. Y mañana si todo me va bien doy el tema como solucionado.
Una pregunta, sabes cómo podría hacer que para X página web (
http://www.google.es ,
http://www.forosdelweb.com), es decir con la IP o DNS, enviar desde el navegador siempre el mismo UserAgent que será
diferente al que lleves. Es decir, quiero que cuando entren a mi web tengan un UserAgent diferente, y mientras poder navegar por otras webs usando un UserAgent diferente. ¿Algún addon o configuración? Los addons que he probado no vienen con tal posible configuración.
Saludos! :)