Foros del Web » Programando para Internet » PHP »

se puede esconder algun trozo de la url???

Estas en el tema de se puede esconder algun trozo de la url??? en el foro de PHP en Foros del Web. lo que busco es esconder un tramo de url para que la gente no se la pueda copiar i entrar en lo que considero zona ...
  #1 (permalink)  
Antiguo 04/10/2005, 03:22
 
Fecha de Ingreso: mayo-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
se puede esconder algun trozo de la url???

lo que busco es esconder un tramo de url para que la gente no se la pueda copiar i entrar en lo que considero zona restringuida solo para usuarios registrados en una base de datos

gracias por intentar ayudar
  #2 (permalink)  
Antiguo 04/10/2005, 03:29
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 6 meses
Puntos: 19
Para restringir el acceso a ciertas zonas debes usar variables de sesion ($_SESSION) y comprobarlas al principio de cada fichero php en el que quieres restringir su acceso.
  #3 (permalink)  
Antiguo 04/10/2005, 03:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
En efecto... estás iendote del lado equivocado. No debes (ni puedes, menos con PHP) "ocultar" la URL... es esta la vía de comunicación ente tu servidor y el navegador... quizá con el clásico frame a el 100% logras que no se vea en la barra del navegador, pero sigue registrandose, se puede ver a través del código fuente y no es aplicable como metodo de seguridad; es algo simplemente estético.

Es el archivo (la "zona") el que debes proteger. Espero el siguiente enlace te ayude: http://www.forosdelweb.com/f18/holaaaa-alguien-sabe-proteger-paginas-con-php-287411/
Igual visita las FAQ.

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 04/10/2005, 04:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
Exclamación

haber yo tengo un php que es donde compruebo que si existe o no un usuario

Código PHP:
<?php

$usuario
=$_POST['usuario'];
$password=$_POST['password'];
/* Conexion, seleccion de base de datos */
$enlace mysql_connect("xxx","xxx","xxx")
   or die(
"No pudo conectarse : " mysql_error());

echo 
"<p>";
mysql_select_db("xxx") or die("No pudo seleccionarse la BD.");

/* Realizar una consulta SQL */
$consulta  "SELECT * FROM users where usuario=\"$usuario\" and password=\"$password\" ";
$resultado mysql_query($consulta) or die("La consulta fall&oacute;: " mysql_error());

$num_rows mysql_num_rows($resultado);

if(
$num_rows==1)
    {
    
//session_start(); 
    
$confirmacio=1;
   

    echo (
"<META HTTP-EQUIV = 'Refresh' CONTENT ='1;  URL = editor1.php?var=$confirmacio'"); 
    
//header ("Location:editor1.php?var=$confirmacio");
    
    
}
else 
    { 
    
    echo 
"<center>login o password incorecto<p>";
    echo  
"<a href=\"login.php\">vuelve a intentarlo</a></center>";
    } 

    
    
/* Liberar conjunto de resultados */
//mysql_free_result($resultado);

/* Cerrar la conexion */
mysql_close($enlace);


?>
i con esto es guardar una variable que la utilizo para que la gente pueda entrar en la pag. i la putada de esto es que si la gente se copia la url ya no le hace falta ni registrarse ni loguearse.
i la manera de comprovarlo es con un if de esta manera


Código PHP:
if ($_GET['var']==1

si me podieseis ayudar es que esto de las sessiones me lian mucho
gracias por todo
  #5 (permalink)  
Antiguo 04/10/2005, 05:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 101
Antigüedad: 18 años, 7 meses
Puntos: 0
ese codigo lo encuentro poco seguro...
  #6 (permalink)  
Antiguo 04/10/2005, 05:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
En vez de pasar la variable vía URI necesitas crear una variable de sesión, es esa variable por la que preguntarás en los archivos dónde quieras restringir el acceso... obviamente haber inicializado dicha sesión en todos los archivos donde las vayas a ocupar.

Ayuda?; claro!!!. En el enlace que te dejé viene:
- El enlace a las FAQ sobre sesiones (importante y básico) aplicadas a un loguin.
- Scripts ya hechos solo para adaptar (incluyendo el de Cluster).
- Temas donde paso a paso desarrollan un sistema de loguin y autentificación.
- Teoria de cómo usar un sistema de autentificación (ya haz de tener claro y funcionando "esta parte").

Añadiria (no estoy seguro de que vengan):
- www.php.net/session
- www.forosdelweb.com/search.php

Más?? .... concreta.

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 05/10/2005, 02:21
 
Fecha de Ingreso: mayo-2005
Mensajes: 23
Antigüedad: 18 años, 10 meses
Puntos: 0
De acuerdo

buenas ahora he puesto un session start al principio i despues mas tarde he puesto una $session para llevarmerla para el otro script ahora os pongo el codigo

script donde hago la comprovacion
Código PHP:
<?php
session_start
(); 
$usuario=$_POST['usuario'];
$password=$_POST['password'];
/* Conexion, seleccion de base de datos */
$enlace mysql_connect("xxx","xxx","xxx")
   or die(
"No pudo conectarse : " mysql_error());

echo 
"<p>";
mysql_select_db("xxx") or die("No pudo seleccionarse la BD.");

/* Realizar una consulta SQL */
$consulta  "SELECT * FROM users where usuario=\"$usuario\" and password=\"$password\" ";
$resultado mysql_query($consulta) or die("La consulta fall&oacute;: " mysql_error());

$num_rows mysql_num_rows($resultado);

if(
$num_rows==1)
    {
    
           
$_SESSION['id']=1;
    echo (
"<META HTTP-EQUIV = 'Refresh' CONTENT ='1;  URL = editor1.php'"); 
    
    }
else 
    { 
    echo 
"<body bgcolor=\"#D1E1F0\">";
    echo 
"<center>login o password incorecto<p>";
    echo  
"<a href=\"login.php\">vuelve a intentarlo</a></center>";
    echo 
"</body>";
    } 

    
    
/* Liberar conjunto de resultados */
//mysql_free_result($resultado);

/* Cerrar la conexion */
mysql_close($enlace);


?>
i ahora el script donde utilizo la variable $session para poder acceder a su contenido

Código PHP:
<?
session_start
();


if (
$_SESSION['id']==1)

{

include(
"DB.php");        //funcions aux base de dades

......
......
......
......


else 
{
echo 
"<body bgcolor=\"#D1E1F0\">";
echo 
"<center><table border=\"1\">
                    <tr><td colspan=\"2\" align=\"center\">no estas autorizado</td></tr>
                    <tr><td><a href=\"login.php\">logueate</a></td>
                        <td><a href=\"regis.php\">registrate</a><td><tr>
        </table></center>"
;
echo 
"</body>";
}
?>
supongo que asi sera algo mas seguro haber que me podeis decir
gracias por todo
  #8 (permalink)  
Antiguo 06/10/2005, 18:57
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Pués... de que es más seguro lo és . Pero quizá en un futuro te intereze personalizar más esa variable de sesión (guardar el nick del usuario por ejemplo) y cuestiones similares que con el tiempo y las necesidades incrementen se te irán presentando... pero en principio bien. .. quizá la recomendación de utilizar header() para redireccionar... no tiene caso hacerlo con la etiqueta META si va a ser instantáneo.

Un saludo!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 17:22.