Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Evitar que se llame una pagina desde la barra de direcciones (https://www.clubdelphi.com/foros/showthread.php?t=44217)

dape 31-05-2007 08:56:55

Evitar que se llame una pagina desde la barra de direcciones
 
¡Hola!, estoy jugando un poco con PhP y he hecho una paginita con un login y password, esto funciona bien, creo que muy bien para ser mi primer intento, el problema ocurre cuando tipeo en la barra de direcciones del navegador la direccion de la pagina del administrador, se supone que no debe cargar y redirigir a otra página, al menos el codigo que le puse debe hacer eso, pero igual carga.

Le he dado vuelta al manual de PhP, pero como recien empiezo a jugar con el, no logro entender todo.

No puedo colocar el código que usé ya que no lo tengo a mano, pero apenas pueda lo mando.

Si tienen alguna sugerencia se los agradeceré mucho.

Saludos.

David.


P.D.: Disculpen la falta de tildes, el teclado de la pc que usé esta para la basura.

dec 31-05-2007 09:00:01

Hola,

Bueno, el caso es que tienes que lograr algo como...

Código PHP:


<?php
// admin.php

/* Obtienes información sobre el usuario 
    (digamos que termina en la variable $usuario) 
*/

if(!$usuario->EsAdministrador()){
  
  
/* El usuario no es administrador, 
      así que, le redirigimos a otro lugar...
  */

  
header('Location: http://www.tusitio.com/');

  
/* Y damos por concluido el Script */
  
exit;
}

?>


dape 01-06-2007 06:18:33

Hola, gracias por tan pronta respuesta, voy a probar el codigo que me sugieres, aprovecho y dejo el codigo que estoy usando, talvez algo me falte.

Código PHP:

 session_start();
    if (isset (
$_SESSION['nivel']))
    {
        if(
== $_SESSION['nivel'])
    
//Se permite el ingreso al área.
        
{
        }
        else
        {
            
header("location: ../../index.html?acceso_no_autorizao");
            exit();
        }
    }
    else
    {
            
// chequear si se llama directo al script. Si esto ocurre, se redirige a otra página
        
if ("/dape/sgdi/admin/admin.php" == $_SERVER['SCRIPT_NAME'])
        {
            
header("location: ../prohibido.html?acceso_no_autorizado");
            exit();
        } 

Gracias por la ayuda.

Saludos desde Tacna - Perú

David

semptrion 04-06-2007 17:38:19

La solución la tienes casi concluida
 
Coloca este código de validación (tu código, el del anterior mensaje) en la página de contraseña. Así, si uno escribe directamente el uri sin estar conectado, se evaluará y redireccionará donde debe redireccionar.

Sin embargo, para evitar código duplicado (y buscando ortogonalizar el código), sugeriría que la evaluación sea realizada en un script aparte y que sea incluido en todas las páginas en las que requieras seguridad.

Espero sea de utilidad.

Un abrazo y que estés bien

P.D. Tu firma me encanta, aunque me gusta más la de Eduardo Abaroa: "rendirme yo? que se rinda su abuela carajo!!!"

dape 05-06-2007 06:10:35

Hola, dejame ver si entiendo: coloco el codigo en un script diferente y lo llamo desde cada pagina, mmmm, bueno, el codigo lo coloco al inicio de cada pagina y la seguridad no se activa, ¿sera que al colocar el codigo dentro de la pagina, este funciona diferente?

De todas maneras voy a probar lo que me dices, gracias.

Saludos desde Tacna - Perú

David.


P.D. He leido sobre el, buena respuesta tambien.


La franja horaria es GMT +2. Ahora son las 15:22:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi