Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Impedir cambiar las opciones de un select con firebug

Estas en el tema de Impedir cambiar las opciones de un select con firebug en el foro de PHP en Foros del Web. Buen día. Tengo un par de consultas: 1.- Deseo impedir a los usuarios cambiar los valores de un select, como puedo hacerlo ? 2.- Como ...
  #1 (permalink)  
Antiguo 06/10/2014, 12:19
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
Impedir cambiar las opciones de un select con firebug

Buen día.

Tengo un par de consultas:

1.- Deseo impedir a los usuarios cambiar los valores de un select, como puedo hacerlo ?

2.- Como puedo ocultar el código html al usuario.

Les agradezco su tiempo
  #2 (permalink)  
Antiguo 06/10/2014, 12:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Impedir cambiar las opciones de un select con firebug

Es imposible hacer lo que buscas, porque el HTML debe ser visible para ser entendido por el navegador.

Además con Javascript (y firebug) siempre es posible modificar todo.

Y al final es un tema que no tiene nada que ver con PHP.

Si crees que "impedir" resuelve el "problema" es probable que tu programación sea muy deficiente y propensa a fallos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/10/2014, 16:01
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Impedir cambiar los valores de un select con firebug

Gracias por tu respuesta pateketrueke

Se que mi programación no es de las mejores pero por eso ando acá XD

Se que con Javascript (y firebug) siempre es posible modificar el html acá es cuando se me ocurre que php podría ayudar.

Creo que con esto me doy a entender mejor:

Imagínate un formulario de registro con un select para escoger el perfil de usuario más o menos así.

<select name='perfil' >
<option value="0" selected="selected">Escoga el perfil del usuario</option>
<option value="1">Usuario</option>
<option value="2">Moderador</option>
</select>

Con firebug puedo modificar el value a 3 y hacerme administrador

Tu como validas / aseguras que este select cumpla su cometido? Gracias por tu respuesta!
  #4 (permalink)  
Antiguo 08/10/2014, 16:14
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Impedir cambiar las opciones de un select con firebug

Bueno, lo lógica sería que dicha pagina sólo sea accesible por un administrador, y por lo tanto sólo podría acceder a ciertos niveles de configuración.

Es decir, deberías validar dicho ID que recibes, para que el valor esté dentro del rango de valores permitidos por el usuario que está enviando dicho valor.

Sin el nivel adecuado sencillamente podrías lanzar un excepción.

¿Para que complicar las cosas?

Si deseas impedir que un usuario modifique un valor del formulario entonces debo decir que tu solución está errada, a eso se le llama seguridad por oscuridad.

Reflexiona al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/10/2014, 11:48
 
Fecha de Ingreso: junio-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Impedir cambiar las opciones de un select con firebug

Pos una vez reflexionado un poco más el tema, llegue a las conclusiones siguientes.

Los selects son ocupados todo el tiempo no solo en el caso de mi ejemplo, las posibles soluciónes son: encriptar el valor de los option ó generar un campo oculto con un id unique y validarlo en mi php.

Gracias! pateketrueke
  #6 (permalink)  
Antiguo 09/10/2014, 12:59
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Impedir cambiar las opciones de un select con firebug

una solucion seria que imprimas el select con javacript directamente, con firebug no podes modificar el .js (creo)

Código Javascript:
Ver original
  1. document.write("<select>");
  2. document.write("<option value='0'>valor</option>");
  3. document.write("</select>");

intentá eso y contanos
  #7 (permalink)  
Antiguo 09/10/2014, 13:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Impedir cambiar las opciones de un select con firebug

Cita:
Iniciado por Patriarka Ver Mensaje
una solucion seria que imprimas el select con javacript directamente, con firebug no podes modificar el .js (creo)

Código Javascript:
Ver original
  1. document.write("<select>");
  2. document.write("<option value='0'>valor</option>");
  3. document.write("</select>");

intentá eso y contanos
El tema es que eso genera markup en el navegador y una ves ahí ya es editable.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 09/10/2014, 13:11
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Impedir cambiar las opciones de un select con firebug

ok ok, yo tambien he aprendido algo ahora.

bueno otra opcion que SI es valida, aunque require aprender algo nuevo, es usar DOJO.
que seria similar a jquery pero con otras caracteristicas. pero hasta el dia de hoy para mi es mas practico usar jquery, dojo tambien es una opcion:

mira el ejemplo del combobox en este link e intenta modificar el select
http://dojotoolkit.org/reference-gui.../ComboBox.html

esto lo que hace es agregar un atributo al SELECT y te lo parsea a algo nuevo para que no puedas modificar sus valores:

Código HTML:
Ver original
  1. <select data-dojo-type="dijit/form/ComboBox" id="fruit" name="fruit">
  2.     <option>Apples</option>
  3.     <option selected>Oranges</option>
  4.     <option>Pears</option>

Etiquetas: firebug, html, impedir, opciones, select, usuarios
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 14:52.