Solucionado

11591 visitas 47 respuestas

Pasar variables ocultas

Hola, os explico mi caso:

Tengo desarrollada una aplicación en php que se accede a ellas a traves de un panel de control con usuario y contraseña. Todo esto con sessiones. Una vez dentro existen varias paginas en las cuales tengo que limitar el acceso si es un usuario u otro, y para ello estoy pasando el usuario por URL, para que al cargar otra pagina se sepa que usuario es para mostrarle una parte de la pagina u otra.

El problema es que el usuario si es un poco hábil puede cambiar en la direccion del navegador su usario por otro, que por ejemplo tenga accesos a mas cosas, y aqui es donde rompe la seguridad.

Lo ideal seria pasar los datos que estoy pasando por URL (usuario y nivel) de forma oculta. Lo que pensé fué a traves de un campo hidden de un formulario, pero como hago que ese formulario se envie a otra pagina cuando pinchas en un enlace.

¿Como puedo hacer esto?

Ahh.. ¿y si se codifica lo que paso por URL?

Gracias

por luicos

hace: 28 Apr 10

Respuestas

Lo que tienes que hacer es asegurarte de que el usuario recibido coincide con el login de la sesión. Luego si quieres ya lo ocultas o lo que quieras, pero lo primero es eso. Como se suele decir, no hagas security by ofuscation o algo así :D

Saludos.

0

Lo que tienes que hacer es asegurarte de que el usuario recibido coincide con el login de la sesión.

 No acabo de enternder lo que me dices. Yo lo que hago es comprobar que el usuario que se introduce en las casillas de texto para entrar sea igual al que tengo en la base de datos, y si es así pongo:

session_start(); $_SESSION["autentificado"]= "SI"; header("Location: principal.php?us=".urlencode($usuario)."&ni=".urlencode($nivel));

Envio por la URL el usuario para visualizar simplemente quien entro, y el nivel que dependiendo de si es A o B la pagina principal.php muestra unas cosas u otras.

Lo malo es que si se cambia el nivel en la barra de direcciones se cambia el contenido de la pagina

¿como puedo solucionarlo? Gracias

0

por luicos

hace: 28 Apr 10

A ver, ahi no veo el tema de login, que supongo harás (si no cualquiera que vosote ña página será autentificado).

Además, no es mejor guardar el dni i/o nombre de usuario en la sesion en lugar de un SI o un NO? Así no podran modificarlo a través de la URL

0

por Irozga

hace: 28 Apr 10

Bien, pero si guardo el nombre de usuario en la sesion, luego como se que usuario es??? Es decir, ¿cómo lo recupero para validarlo?

Recojo del formulario de entrada los datos de esta forma: <?php                 $usuario=$_POST["usuario"];                 $contrasena=$_POST["contrasena"];                            include "conexion.php";                                                            $consulta=" SELECT nombre, password, nivel FROM tabla1 ";                   $result=mysql_query($consulta,$conexion) or die(mysql_error());                    while($row = mysql_fetch_array($result))                     {                         if($row['nombre']==$usuario && $row['password']==$contrasena)                             {                                 //defino una sesion y guardo datos                                 session_start();                                 $_SESSION["autentificado"]= "SI";                                    $nivel=$row['nivel'];                                                                header("Location: principal.php");                             }                         else                             {                                 $existe=false;                             }                     }                            include "cerrar_conexion.php";   

if($existe==false)        {          echo "ACCESO DENEGADO";        }                            ?>

Despues en cada pagina hago esta comprobacion:

<? //Inicio la sesión session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if ($_SESSION["autentificado"] != "SI") {     //si no existe, envio a la página de autentificacion     header("Location: index.php");     //ademas salgo de este script     exit(); }    ?>

0

por luicos

hace: 29 Apr 10

La autenticación debes hacerla en todas las páginas, no en una action de un form de login y ya está. En la sesión puedes gaurdar todos los datos que quieras (el ID del usuario es casi imprescindible), y así para mostrar datos específicos del usuario los puedes sacar de la sesión o mediante ella (no tienes la ficha del cliente, pero si tienes su ID la puedes sacar).

Saludos.

0

La autenticación ya la estoy incluyendo en cada pagina con el siguiente codigo:

 //COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO

if ($_SESSION["autentificado"] != "SI") {

    //si no existe, envio a la página de autentificacion

    header("Location: index.php");

    //ademas salgo de este script

    exit();

}   

Pero si creo variables de sesion de esta forma:

$_SESSION["quien"]=$row['nomeprofesional']; $_SESSION["nivel"]=$row['nivel'];

¿Que estoy creando?  Varias sesiones o una sesion con diferentes variables??  Porque no se si lo estoy haciendo bien.

0

por luicos

hace: 29 Apr 10

Sesión solo hay una por visitante cuando la creas. Esta sesión puede almacenar infinitas variables.

1

Voy a poner el codigo que tengo a ver si lo estoy haciendo bien.

PAGINA DE PANEL DE ENTRADA

       

PAGINA QUE RECIBE LOS DATOS (MENSAJE.PHP)

<?php                 $usuario=$_POST["usuario"];                 $contrasena=$_POST["contrasena"];                            include "conexion.php";                                                            $consulta=" SELECT nombre, password, nivel FROM tabla1 ";                   $result=mysql_query($consulta,$conexion) or die(mysql_error());                    while($row = mysql_fetch_array($result))                     {                         if($row['nombre']==$usuario && $row['password']==$contrasena)                             {                                 //defino una sesion y guardo datos                                 session_start();                                 $_SESSION["autentificado"]= "SI";                                 $_SESSION["quien"]=$row['nombre'];                                 $_SESSION["nivel"]=$row['nivel'];                                                header("Location: principal.php");                             }                         else                             {                                 echo "acceso denegado";                             }                     }                            include "cerrar_conexion.php";                                        ?>

PAGINA PRINCIPAL.PHP [Esta es la primera de las paginas que tienen que estar protegidas]

<? //Inicio la sesión session_start();

//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO if ($_SESSION["autentificado"] != "SI") {     //si no existe, envio a la página de autentificacion     header("Location: index.php");     //ademas salgo de este script     exit(); }    ?>

<?php                                     $n_usuario=$_SESSION["quien"];          $nivel_usuario=$_SESSION["nivel"];                                     echo "Conexión iniciada por: ";          echo $n_usuario;                                                   if($nivel_usuario==1)              {                echo "· Acceso total";              }           else if($nivel_usuario==2)              {                echo "· Acceso limitado";             } ?>

¿¿Lo estoy haciendo bien o no?? Espero vuestra opinion.Gracias

0

por luicos

hace: 29 Apr 10

Si, eso sería una forma de hacerlo si

0

Yo veo que me funciona bien, pero me gustaría saber más opiniones, no porque no me fie de ti joanlgr pero es que tengo que proteger bien las paginas y como tengo dudas si lo estoy haciendo bien o no, pues prefiero escuchar mas opiniones

Gracias

0

por luicos

hace: 29 Apr 10

Hombre ese código es lo básico, luego siempre puedes mejorarlo.

0

La verdad es que sería más sencillo, aprobechar la sentencia SQL para que te devuelva solo los datos que quieres (si es que existen). En lugar de devolverlo todo y luego comprobar uno a uno.

Si no sabes hacerlo. Deberías dedicarle un tiempo a aprender SQL antes.

0

por Irozga

hace: 29 Apr 10

Te refieres a la condicion WHERE ¿¿no Irozga??

$consulta=" SELECT nombre, password, nivel FROM tabla1 WHERE nombre='usuario' AND password='contrasena' ";

Así no habría que recorrer todos los registros de la base de datos para comprobar

¿Te refieres a eso no?

0

por luicos

hace: 30 Apr 10

Resulta que se me planteó otra duda que se me habia pasado.

Además de todo lo anterior, tengo un enlace que al pinchar en el me carga otra pagina a la cual le paso por URL 2 variables, que logicamente se ven en la barra de direcciones, y lo que quería era saber como puedo evitar que sean modificadas, porque si guardo esas variables en variables de sesion, su valor no cambiará hasta que se cambie de sesion.

Es decir, que genero enlaces dependiendo del numero de registros que haya en la base de datos, y estos enlaces toman valores diferentes.

CODIGO: while($row = mysql_fetch_array($result9))  {    echo ""; }

Es decir, que si tengo 3 registros se generaran 3 enlaces con diferentes valores:

var1=1 y var2=10 var1=8 y var2=24 var1=7 y var2=88

Si pincho en un enlace pasa a la otra pagina unos valores en las variables, si pincho en otro pasa otros, y asi sucesivamente

¿Como puedo hacer para que no se vean? Gracias

0

por luicos

hace: 30 Apr 10
$consulta=" SELECT nombre, password, nivel FROM tabla1 WHERE nombre='usuario' AND password='contrasena' ";

Esto no lo hagas nunca si no tienes algo para eliminal SQL injection,o podrían saltarse tu protección. Siempre que tengas algún sitio donde el usuario pueda enviarte datos, comprueba que no envian nada que tu no quieras.

Para la duda que planteas luego no veo solución. Lo único que puedes hacer, es una vez entrada a la nueva página, es ver si ese usuario tiene acceso para modificar eso.

Otro apunte, cuando declaras una variable de sesión, puedes cambiar su valor siempre que quieras, es una variable mas, de ahí que se le llame variable, sino sería una constante.

0

Otro apunte, cuando declaras una variable de sesión, puedes cambiar su valor siempre que quieras, es una variable mas, de ahí que se le llame variable, sino sería una constante.
 Si de acuerdo, pero ese valor cambia cuando cambias de sesion no??

Es decir, que si entro y luego pongo $_SESSION["nombre"]='pepe'; el valor, es decir, pepe no me desaparece de esa variable hasta que vuelva a iniciar sesion otra vez no??

Mi problema es que genero enlaces dinamicos que toman dos valores, que antes pasaba por url, y que ahora no quiero pasar porque me los pueden cambiar en la barra de direcciones.

Si pudiera almacenar en una variable de sesion el valor que van tomando esos enlaces seria genial, pero no se como hacer

Tambien he probado a crear un formulario con hidens y al pulsar en el enlace llama a una funcion que me los envia por POST, pero me da error algunas veces.

0

por luicos

hace: 30 Apr 10

El contenido de las variables sesion no desaparace hasta que pasen 1 de estas 3 razones:

1.- Cierras el navegador. 2.- Destruyes la sesión. 3.- La sesión caduca. A los 30 minutos o así de no renovar la sesión, esta caduca y se pierden los datos almacenados.

Encuando a lo de volver a crear sesión, no pasa nada si tienes una sesión abierta y creas otra, se mantiene la vieja sesión, ya que depende del navegador desde dónde entra el usuario.

Para lo que tu quieres hacer, lo mejor es usar variables $_SESSION.

0

Vamos a ver si me explico un poco mejor.

Mi aplicacion consiste en que entras en una serie de paginas despues de introducir usuario y contraseña en un panel. Se inicia sesion, y despues una de las paginas carga de una base de datos los registros que haya en ese momento, por ejemplo 4. Cada uno de esos 4  registros contienen numero, codigoX, fecha, conclusiones y un enlace que me permite ir a otra pagina que carga un formulario para modificar las conclusiones.

Cuando pincho en el enlace tengo que pasar a la otra pagina el numero y el codigoX del registro, pero no lo quiero pasar por GET.

Es decir, que si pincho en el enlace 1 me pasará 1 y 10, si pincho en el enlace 2 me pasará 2 y 20 ........

La conclusion a la que llego es que no puedo almacenar en una variable de sesion estes valores ya que no me cambiarian hasta que se cerrase la sesion y yo necesito pinchar en uno y que me pase el valor, pinchar en otro y que me pase el valor del que pinché y así sucesivamente.

¿como podría hacer? GRACIAS

0

por luicos

hace: 03 May 10

El valor de las variables de sesion se pueden cambiar siempre que quieras, cuando te de la gana le cambias el valor, ahí está la gracia.

En cuanto a lo que tu quieres hacer, solo se puede hacer pasando el valor via get.

0

La ofuscación es el nivel de seguridad más frágil que existe. Si no quieres que un usuario cambie algo que no debe no puedes impedírselo ocultándoselo porque si quiere lo va a modificar.

Parece que estás obsesionado con que la paginación no sea modificable por el usuario... entonces cambia el método de funcionamiento. Parece que ahora funciona con los offsets, tipo "WHERE id BETWEEN n AND m", pero puede que tengas un workaround sencillo. Lo más usual es usar una paginación por consulta con "LIMIT n, m" donde n es el número de registro (no el id, sino el número que ocupa dentro del resultado) y m el número máximo de registros que quieres obtener. Con ese método sólo necesitas pasar por GET, sesión o como quieras, el número de página; el número de elementos por página lo puedes tener hardcodeado o en cualquier recurso al que no tenga acceso el usuario. Si son 10 elementos por página, en la página 3 sería "LIMIT 3 * 10, 10" y ya está.

Con el método del LIMIT y GET el usuario sólo podrá cambiar en la URL el número de página, que en el peor de los casos será intentar saltar a una página que no existe. Lo único que tienes que validar es que la página sea un numero, y ahí la función ctype_digit te vendrá bien.

Saludos.

0

No estoy obsesionado con que la gente cambie las variables sino fuese por un buen motivo, y el motivo es que si por ejemplo aparece en la barra de direcciones las variables var1=1 y var2=12, si la gente cambia 1 por 3, entonces estarian modificando el registro 3 en vez del 1 y a lo mejor el registro 3 no tienen ni que verlo y mucho menos modificarlo.No sé como controlar esto.

He codificado las variables con base64_encode(var1), pero si cambio cualquier caracter me salta cualquier registro, y eso no lo puedo permitir

El metodo que me dices tu Eloy8857 no lo acabo de entender, y me da la sensacion que tendría que cambiar muchas cosas Se os ocurre alguna idea en concreto??? Gracias

0

por luicos

hace: 03 May 10

Pero estamos en lo mismo del principio: ¿por qué tú código permite al usuario A modificar registros del usuario B? En la sesión tienes el usuario que está accediendo a la actualización de datos, y la obligación de la aplicación es validar que el usuario que está accediendo esté modificando registros a los que tiene acceso. Esto se puede hacer de una manera transparente para el usuario: imagina que tienes la tabla registros con el id del registro y el del usuario, y así modificarla con seguridad sería fácil:

UPDATE registros SET ... WHERE id_registro = $registro AND id_usuario = $usuario

Luego queda a tu elección comprobar si ha habido actualización (mysql_affected_rows) para notidicarlo al usuario, o lo si no falla decirle siempre que se ha actualizado (mysql_query puede dar true pero no haber modificaciones). Al final esto es como si vas al banco a sacar dinero: puede que haya un lector de tarjetas para abrir la puerta, pero aún así cuando tienes que sacar el dinero tienes que autenticarte con tus credenciales y el banco comprueba que la cuenta sea tuya... si no fuera así yo entro con mi tarjeta y saco de la cuenta de otro :O

Para lo de la paginación, si no lo entiendes puedes buscar más tutoriales por ahí.

Saludos.

1

Bien, ya lo he conseguido. Al final en vez del un enlace pasando las variables por GET he creado un FORM y las he pasado como HIDDEN utilizando un .

Le habia estado dando vueltas a esto pero me encontraba con diferentes problemas que no he comentado aqui, pero he conseguido solucionarlo

GRACIAS A TODOS POR LA AYUDA PRESTADA

SALUDOS

0

por luicos

hace: 04 May 10

A ver si lo entendido:

Cuando llegas a la página que muestra los datos de la base de datos, juntos los datos aparece un enlace para que se pueda modificar ciertos datos (los comentarios), pero ese enlace es del tipo url con variables (mi_script.php?dato=1&usuario=xxx .....) y no quieres que esos datos los pueda manipular el usuario. ¿es eso?

Y por que no envías los datos por POST que así van ocultos al usuario y no se ve en la barra de direcciones:

Un ejemplo:

$datos=funcion_que_carga_los_datos_de_la_BDD(); //funcion que carga en arrays los datos de la base de datos echo "

"; echo "dato 1dato 2ComentarioAccion"; foreach ($datos as $dato){
 echo "<tr><td>{$dato['eldato1']}</td><td>{$dato['eldato2']}</td><td>{$dato['comentarioa']}</td>";
 echo "<input type='hidden' name='valor_oculto' value='el_valor_que_quieras'/>";
 echo "<td><input type='submit' name='BOTON' value='Modificar Comentario'/></td></tr>";

} echo "

"
1

jejeje vaya ha llegado tarde mi respuesta, veo que lo has solucionado.

saludos

0

De todas formas te agradezco tu post A_Smith

Saludos

0

por luicos

hace: 04 May 10

Esa forma funciona, pero no es segura. Es mejor pasar datos de usuario via Session, pasar datos del texto a modificar via get y comprar luego si ese usuario puede modificar o no esos datos.

0

¿Que forma no es segura?

Los datos de inicio de sesion los guardo en variables de sesion, y una vez dentro de las paginas protegidas, necesitaba pasar variables de otro tipo que necesitaba y lo he hecho con un formulario con hiddens y un boton submit que me pasa por POST las variables a la pagina que le diga, pero esto una vez dentro. ¿Esto no es seguro?A mi me parece que si

Saludos

0

por luicos

hace: 06 May 10

No lo es porque esas variables hidden también las puede cambiar el usuario.

0

¿Y como?, porque no se como se puede hacer eso. Si me lo explicas, así me entero yo tambien

0

por luicos

hace: 07 May 10

Una forma senzilla es abriendo tu web desde un frame, donde con un senzillo evento onclick canvias cualquier valor de un formluario.

0

Pero para eso tendrían que programar la pagina otra vez ¿no? Y eso no lo hace cualquier usuario normal.

No acabo de entender eso del frame

0

por luicos

hace: 07 May 10

No es que necesiten programar la página otra vez. Solo se necesita enviar un formulario con los nombres de los campos que utiliza el tuyo y los valores que quieran a la url en la que procesas el formulario (ejemplo, descargar el código de tu formulario cambiiar lo qe quieran en los campos hidden, abrir formulario y enviarlo).

0

por Irozga

hace: 09 May 10

Pero vamos a ver.... Mi formulario está escrito en php, entonces el codigo php no es visible para el usuario ¿no?, por lo tanto ningún usuario puede tener acceso a el. Y además los campos del formulario son hidden por lo que no se introducen en ningun cuadro de texto y lo unico que ve el usuario es el boton para pulsar, por lo que no entiendo como se puede ser modificado.

El formulario está así:

echo "

";

           echo "";            echo "";

           echo "";                                             echo "

";

¿Esto se puede modificar, porque yo pensaba que el codigo en php no era visible?

Saludos

0

por luicos

hace: 10 May 10

Tienes que aclarar tus conceptos aún. Aunque muestres el código html con un comando php como"echo", no significa que quede oculto.

El HTML siempre es visible para el usuario, y un campo hidden no deja de ser un campo de un formulario.

0

Pues yo no lo entiendo. Si hay alguien que lo entienda y lo pueda o lo quiera explicar estaría bien, porque llevamos un monton de mensajes y nadie lo aclara

Y además, un usuario normal y corriente que utilice la aplicacion que posee este formulario no se hasta que punto es capaz de modificarlo. Yo creo que no es tan facil. No digo que sea dificil para quien sabe pero para la mayor parte de la gente me parece que no se podría modificar

0

por luicos

hace: 10 May 10

A ver, el lenguaje PHP es lenguaje PHP y no lo vel el usuario. El lenguaje HTML siempre lo ve el usuario.

Aunque muestre HTML desde PHP, el HTML se sigue viendo, es visible. Tan simple como hacer botón derecho del ratón y darle a ver código fuente.

Te estamos diciendo, que pases como pases las variables, debes comprobar al recibirlas, si ese usuario puede o no modificar esos datos. Si ya no lo entiendes, mas no se puede hacer.

0

Pero como dije un usuario normal no creo que se tome la molestia en ver el codigo fuente.

Saludos.

0

por luicos

hace: 10 May 10

Lo que dicen Irozga y joanlgr es verdad, pero bueno ahí depende la seguridad de tu web, es como todo dependiendo de para quien y el valor que le de a la seguridad invertirás mayor o menor tiempo en controlarlo.

Aunque no estaría demás poner un pequeño control, como que el script que recoge el formulario compruebe que los datos viene de tu formulario: if($_SERVER['HTTP_REFERER'] != 'formulario.php') aunque esto tampoco es 100% fiable ya le da algo más de seguridad.

Y una pregunta para Irozga y joanlgr ¿como pasaríais vosotros variables ocultas de un formulario?

0

amigo con todo respeto, lee un manual de PHP COMPLETO!, regla de oro evita el copy/paste  de codigo y entiende lo que esta haciendo, cada linea tiene un por que, digo si es que en verdad quieres aprender. la mejor respueta te la dieron el 3r Post (te lo dice un ISC con 7 años trabajando con PHP), y sigues buscando otra forma y todas inadecuadas. la mejor forma de filtrar tu session es guardando minimio el id_de usuario,

realizar un analicis en tu tabla y si tan solo tienes un id_usuario en los campos que este puedes hacer con una simple limentacion select * from tabla where id_usuario='$_SESSION['id_usuario'] te vasta,

ahora es pesima idea la que tienes de volver a pasar el id de usuario por GET o por POST, no es necesario si ya lo tienes en session, el GET es el nivel mas bajo ya que los datos se ve desde la URL, podrias meter en iframes o frames tu aplicacion evitar el clic derecho y lo que quieras, pero siempre podre saber a donde va una des mis peticiones al servidor o en que pagina estoy, el envio por POST no es ni un poco mas seguro, la unica diferencia es que este va en los headers de la peticion y no en la URL pero estos se pueden modificar incluso la variable $_SERVER['HTTP_REFERER'] se considera insegura ya que se basa en los headers de la peticion que ademas tambien se puede modificar aunque esto no es probable que lo haga un usuario comun pero aun así es posible que lo haga cualquier programador de nivel medio puede hacer una aplicacion que consulte el server y modifique los headers de una peticion POST para engañar tus validaciones, la seguridad no se deve fiar en la informacion en el cliente, siempre se guarda en la session, por lo regular siempre las variables que se guardan en session son un boleano que indique si hay un usuario logeado, el id de usuario, tal vez el nick, y sus permisos, estas variables el cliente nuca las ve a menos que tu las envies estas siempre se quedan en el servidor y solo la utilizas para procesar y definir lo que tu script tiene q hacer, tambien un factor importate a ver son los sql injection.

el codigo PHP, es ejecutado en el servidor, nuca llega al cliente amenos que el server este mal configurado, el resultado de PHP es una pagina HTML el cual se puede ver de cualquier forma aun lo ofusques o bloques opciones del explorador siempre es posible verlo.

bueno, 

 http://www.php-hispano.net/perfiles/luicos,solo te puedo decir que siento que te falta mucho y estas intentado volar cuando apenas ni siquiera caminas, hay que estudiar un poco mas, antes de aveturarte a hacer cosas un poco mas pesadas y siempre evita el copy/paste
0

a y al final tu solucion es insegura :S, aunque envies x post, con un simple JS puedo modificar un campo hiden y cambiar su valor, no lo hara un usaurio nomal, pero un programdor medio de JS seguro que si...

0

Hola wariodiaz, mira lo que creo es que no acabaste de entender lo que estoy haciendo. La validacion de la pagina la hago con sesiones, y lo compruebo al principio de cada pagina que se ha iniciado sesion y que el usuario que tiene que ver esa pagina es el adecuado y sinó es el usuario correcto cargo la pagina de autentificacion.   Lo que paso por POST a traves de un formulario a otra pagina, no es el ID DE USUARIO CUANDO INCIAS SESION, sino el valor de cada registro que pueden ser por ejemplo libros, que puede ver ese usuario.   Es decir, que entre PEPITO y puede ver los libros del 1 al 50, y cuando quiere modificar algun dato referente a un libro de esos 50, existe un boton que me permite cargar otra pagina que modifica ese libro.   Cada libro, tiene un boton al lado para ser modificado. El libro 1 pasará por POST 1 a la pagina de modificacion, el libro 6 pasará el 6.... y así sucesivamente.   Por lo tanto, si ese formulario que pasa valores por POST está en una pagina que se valida con SESSIONES en PHP creo que no tiene riesgo porque la va a ver solo el que tiene que verla.   Otra cosa será, que ese usuario autorizado pueda ver el codigo fuente y modifique valores, pero como hago la comprobacion al principio de cada pagina sobre que libros debe de ver cada usuario, si son libros que el no puede modificar no le dará acceso y le saltará la pantalla de autentificación.   Quedó claro?

0

por luicos

hace: 11 May 10

Ahh... y yo no copio codigo y lo pego sin saber lo que hace, siempre lo interpreto y lo adapto a lo que yo quiero, y si no lo hiciera así no estaría ahora aqui discutiendo conceptos.   Mi intención siempre es la de aprender.   Saludos

0

por luicos

hace: 11 May 10

Dices que PEPITO solo puede ver del 1 al 50 y modificarlos, pero podría modifivar esa variables post y ponerle 60 y la vería.

Hay que comprobar los datos, con esconderlos no basta.

0

Gracias, por todo

Hasta otra

0

por luicos

hace: 11 May 10

como dices, creo que eso depende mas de tu diseño de base de datos, ya que con ello puedes limitar desde consulta lo que un usuario puede o no ver, el ejemplo que dices caemos al uso de seciones de cualquier forma, bien podrias guardar en sesion esos parametros y al momento de cosultar el query decir estoy viendo del 1 al 10, de 11 al 20, de 21 al 30, y en sesion guardar numeros permitidos del 0 al 20, con eso tienes las variables para delimitar si vas a mostrar del 21 al n, pero creo que te falta un mejor diseño y aun vluebo con el tema de una estudiadita al asunto de sesiones, no solo te sirvern para el campo de login

1

Pues hasta tienes razon, lo que voy a hacer es cuando inicie sesion un usuario, hacer una consulta a la base de datos y ver a que registros tiene acceso ese usuario. Guardo el resultado en una variable de session y así si otro usuario modifica los valores pasados por POST que me salte a la pantalla de validacion con un location.

Gracias. Saludos.

0

por luicos

hace: 12 May 10

o busca en nuestros foros