Foros del Web » Programando para Internet » PHP »

Seguridad en Back

Estas en el tema de Seguridad en Back en el foro de PHP en Foros del Web. Saludos amigos, Bueno mi siguiente interrogante es : Como puedo hacer para que Supongamos que esten viendo mi Pagina Web, pero esta tiene un enlace ...
  #1 (permalink)  
Antiguo 23/06/2004, 09:56
 
Fecha de Ingreso: febrero-2004
Ubicación: Los naranjos 328
Mensajes: 51
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Seguridad en Back

Saludos amigos, Bueno mi siguiente interrogante es :

Como puedo hacer para que Supongamos que esten viendo mi Pagina Web, pero esta tiene un enlace hacia otra Pagina fuera de mi entorno. Bueno hasta ahi tudo ben, pero cuando haces click en el boton back de tu navegador este te retorna a tu Intranet de manera Normal y creo q no habria seguridad en eso.Qusisera saber si hay alguna manera de que si sales de mi intranet, por mas que hagas flecha hacia atras esta ya no se muestre, ni asi sea actualizando. Bueno espero puedan darme una idea. Saludos

Juan Carlos
__________________
===================
Juan Carlos Medina Ruiz
<?PHP?>
==================


Un dia sin aprender algo es un dia perdido
:aplauso:
  #2 (permalink)  
Antiguo 23/06/2004, 10:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías empezar por desactivar el "caché" para tus páginas con cabeceras HTTP tipo "no caché" (que puedes enviarlas desde PHP con header() o bien desde HTML con <meta ...>)

Por lo demás .. no sé si en tu aplicación de tu "intranet" usas cookies o sesiones para autenticar/validar el acceso a tu aplicación .. (sería interesante conocer ese tema). Por qué .. si no usas nada de esto habría que implementar algún sistema de autentificación con uso de sesiones/cookies.

Un saludo,
  #3 (permalink)  
Antiguo 23/06/2004, 10:12
 
Fecha de Ingreso: febrero-2004
Ubicación: Los naranjos 328
Mensajes: 51
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Uso sessiones

Saludos amigos, bueno para informarles q si estoy usando sessiones, y diganem la linea del cache serioa la sgte


header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");

Axias
__________________
===================
Juan Carlos Medina Ruiz
<?PHP?>
==================


Un dia sin aprender algo es un dia perdido
:aplauso:
  #4 (permalink)  
Antiguo 23/06/2004, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. cuando usas sesiones también estas controlan el caché con sus funciones:

session_cache_expire()
session_cache_limiter()

No indicas como propagas el SID en el uso de sesiones que haces (y configuración de PHP) .. Te recuerdo que tienen tiempo de expiración también las sesiones (php.ini: session.gc_maxtimelife ).

Tampoco vemos como validas esas páginas en función de qué? . una variable de sesión?

www.php.net/session


Un saludo,

PD: Te recomiendo que hagas una busqueda en el foro por "sesiones" veras infinidad de temas que hablan de todo esto.
  #5 (permalink)  
Antiguo 23/06/2004, 10:47
 
Fecha de Ingreso: febrero-2004
Ubicación: Los naranjos 328
Mensajes: 51
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Esta es mi cabezera de las pag

<?php
session_name("usuarios_ingreso");
session_start();
if (!isset($_SESSION['id_usuario'])) {
//if (!session_is_registered("id_usuario")){
header("location:index.php");
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
include ("entradaa.htm");
?>

Eso uso como cabezera en cada pagina que llamo, y asi inicializo las variables en una funcion


session_name("usuarios_ingreso");
session_start();
session_cache_limiter('nocache,private');
$_SESSION['id_usuario']="$idusuario";
Header ("Location: $PHP_SELF?");
$idses=session_id();


Lo que yo quisiera tambien es darle un tiempo de expiracion a las sessiones, de alguna manera q si no esta en uso en 30 sgds que se cierre, y me pida autentificacion, pero no se si eso es en el php.ini o es a traves de programacion, Ojala me puedan orientar de todas maneras buscare en el foro

__________________
===================
Juan Carlos Medina Ruiz
<?PHP?>
==================


Un dia sin aprender algo es un dia perdido
:aplauso:
  #6 (permalink)  
Antiguo 23/06/2004, 13:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La duración de una sesión puedes ajustarla bajo la directiva (php.ini):
session.gc_maxtimelife

Pero eso va en función de como propages el SID y que duración de la cookie (si es que la usas) tiene (por defecto=0 segundos de duración de la cookie .. lo que "traspasa" el tiempo de expiración al control de la directiva anteriormente mencionda y que por defecto suele ser de 1440 segundos (=24 mimutos))

Con la función ini_set() podrías variar en tiempo de ejecución alguna de las directivas de PHP sobre sesiones (en general todas las que se puedan por ese método y define en la documentación de PHP sobre esa función).

Pero, el hecho de que "q si no esta en uso en 30 sgds que se cierre" .. en principio PHP no puede "cerrar" una página .. lo que si que pude es en el momento que le "pidas" cierta página ver si expiró la sesión (ya lo hace PHP automáticamente en función de esas directivas de sesiones que mencioné) y .. si tu validas (como ya lo haces) la existencia de esas variabels en la sesión .. si no están por qué PHP (la sesión) ya expiró .. actuará tu código que pedirá el "login" denuevo ...

Si necesitas que ese "checkeo" de la sesión fuese "automático" tendrías que recargar la página cada N tiempo para estar constantemente "pidiendo" una página al servidor (tu script php que valida la existencia de esas variables de sesión). Eso lo puedes hacer desde HTML y sus etiquetas <meta > de refresh ...


Este código ..: Te faltó un exit despues de un header() que redirecciona (location).

Código PHP:
<?php
session_name
("usuarios_ingreso");
session_start();
if (!isset(
$_SESSION['id_usuario'])) {
//if (!session_is_registered("id_usuario")){
header("location:index.php");
// Te faltó un: .. sino igualmente se ejecuta el resto del código (ya que tampoco usastes un "else" para este if() ...
exit;
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache"); 
include (
"entradaa.htm");
?>
Un saludo,
  #7 (permalink)  
Antiguo 24/06/2004, 11:26
 
Fecha de Ingreso: febrero-2004
Ubicación: Los naranjos 328
Mensajes: 51
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación UHmm es decir

Hola amigos, es decir q yo en estos momentos trabajo con un tiempo de session establecida por defecto. Asi como trabajo si pasan 25 minutos y nadie usa mi page esta session caducara y en la cabezera de mi pagina me dice q me redireccione a index.php
Pero yo a traves de Programacion le puedo variar ese tiempo solamente podria hacer eso establecer el timpo y nada mas, no hay q hacer otra programacion adicional.
Uhmm y de esa manera lo primero del boton
back q ya no regrese lo podria solucionar con
session_cache_expire()
session_cache_limiter()

o me equivoco disculpen todas las molestias q les causo
__________________
===================
Juan Carlos Medina Ruiz
<?PHP?>
==================


Un dia sin aprender algo es un dia perdido
:aplauso:
  #8 (permalink)  
Antiguo 24/06/2004, 12:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La directiva:

session.gc_maxtimelife

Es la que define el tiempo de expiración final de un SID válido (=sesión) .. pero depende de otros factores .. Lee bien mi mensaje anterior .. por qué ya comenté como variar el valor de esa directiva (vía ini_set() función ... )

Un saludo,
  #9 (permalink)  
Antiguo 25/06/2004, 08:56
 
Fecha de Ingreso: febrero-2004
Ubicación: Los naranjos 328
Mensajes: 51
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Holas la Ultima

Holas a todos, es decir yo debo asignar asi:
ini_set('session.gc_maxlifetime',60);
para q si no se usa en 1 minuto mi session se destruye
y como yo tengo en mi cabezera lo sgte validara las sessiones registradas

if (!isset($_SESSION['id_usuario'])) {
header("location:index.php");
exit;
}

Esta bien lo planteado, pero diganem en la directiva php.ini, no tendria q tener permiso de escritura, o solo es una asignacion temporal, porque cuando lo curro e imprimo el tiempo en ejecucion este sigue siendo 1440

Saludos y disculpen todas las molestias

__________________
===================
Juan Carlos Medina Ruiz
<?PHP?>
==================


Un dia sin aprender algo es un dia perdido
:aplauso:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.