Pregunta

Tengo un archivo de estudio de estudio.php que funciona fantásticamente, el problema que me enfrento es poner el script en un nuevo sitio administrativo de 'estilo intranet' que utiliza 4 cuadros dentro de un conjunto de cuadros (encabezado, izquierda, centro, derecha).

Hay dos requisitos que necesito cumplir con los que me cuesta mucho encontrar una solución (sí, sé que los marcos apestan en los sitios de consumo de hoy, pero para reiterar, esto es para un panel de administración de sistema interno con widgets en todas partes).

  1. Cuando un usuario hace clic en el botón 'Sijar' en la trama superior, toda la página se dirige a logrout.php, que luego redirige a una sola página "home.php". A partir de ahora, alcanzar el cierre de sesión solo lleva ese marco en particular a mi destino deseado.

  2. Cuando un usuario inicia sesión, se crea y se establecen variables de sesión y se establece en True; Si las páginas se visitan sin sesión [validada] = true, el usuario se registra. Del mismo modo a arriba, si esto sucede, necesito todo el conjunto de marcos dirigido a logrout.php.

Estoy tratando de lograr esto sin JavaScript (ya que esto obviamente puede ser deshabilitado y JS no es una medida real para la seguridad).

¿Alguien alguna vez trató este problema en el pasado?

¿Fue útil?

Solución

¿El botón de cierre de sesión es un enlace? Si es así, ¿no puedes usar? target="_parent" ¿Para que cambie la página con la marca de cuadros?

Editar
Re #2: Si la sesión está programada, puede hacer una página intermediaria con un enlace que use target=_parent y el JavaScript a continuación, los cuales saldrían del marco.

<script type="text/javascript">
if (top.location != self.location) top.location = 'login.php'
</script>

Esto es bueno porque si tienen habilitados JavaScript, ni siquiera lo notarán y si no lo hacen, aún saldrán de los cuadros.

Otros consejos

Solución a la Parte 1:

Haga un botón de cierre de sesión como este:

<a href="/logout.php" target="_top">logout</a>

Luego haga lo de sesión. PHP Haga todo el trabajo duro para cerrar la sesión (probablemente solo para borrar la sesión), y luego redirige al usuario a la marca de cuadros adecuada (use el comando de encabezado de PHP para redirigir).

Solución a la Parte 2:

Esto no debería suceder al azar. Si inicia sesión, su sesión está configurada en Validated = True. No "encuentra" una página donde sus sesiones sean de otra manera.

Sin embargo, puede incluir un archivo PHP (o si ha sido lo suficientemente inteligente como para hacerlo, haga que esto suceda en su único punto de entrada) para redirigir a una página de cierre de sesión si su sesión está de alguna manera invalida. Ver 1 arriba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top