Foros del Web » Programando para Internet » PHP »

Seguridad datos recividos por get

Estas en el tema de Seguridad datos recividos por get en el foro de PHP en Foros del Web. tengo una consulta y una duda tengo una consulta MSQL para seleccionar X columna y recoger X Datos Ejemplo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original ...
  #1 (permalink)  
Antiguo 23/09/2016, 21:48
Avatar de dhayzon  
Fecha de Ingreso: abril-2013
Ubicación: mx
Mensajes: 64
Antigüedad: 11 años
Puntos: 0
Seguridad datos recividos por get

tengo una consulta y una duda

tengo una consulta MSQL para seleccionar X columna y recoger X Datos

Ejemplo

Código HTML:
Ver original
  1. if(isset($_request['valor']) && !empty($_request['valor']) ){
  2.  
  3.   entonces aqui digo o hago la consulta
  4.       if($_request['valor'] =='persona')
  5.  
  6.         $from = 'user_id';
  7.  
  8. }
luego uso
$from como una opción dentro de la consulta

$from

hay manera de que rompan if($_request['valor'] =='persona')

y consigan que les de un true?

soy nuevo en esto
  #2 (permalink)  
Antiguo 23/09/2016, 23:40
Avatar de AngelKrak  
Fecha de Ingreso: noviembre-2014
Mensajes: 917
Antigüedad: 9 años, 5 meses
Puntos: 91
Respuesta: Seguridad datos recividos por get

como no estoy muy seguro lo que se me ocurrio es hacer una funcion parecida a la de mysqli mysql_real_escape_string para evitar ataques contra la base de Datos...

La funcion lo que haria es Obtener el Texto que fue enviado y Reemplazar las Comillas con Escape:
Código PHP:
Ver original
  1. $escape = str_replace("'", "\'", $_request['valor']);
  2. if(isset($escape) && !empty($escape) ){
  3.  
  4.    entonces aqui digo o hago la consulta
  5.        if($escape == 'persona')
  6.  
  7.          $from = 'user_id';
  8.  
  9. }
Lo hice sin probar, pero creo que no tiene ningun error y debe de funcionar(aun que nose si sea seguro)
  #3 (permalink)  
Antiguo 24/09/2016, 11:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Seguridad datos recividos por get

Cita:
hay manera de que rompan if($_request['valor'] =='persona')

y consigan que les de un true?
No, no se puede "romper" una condición lógica estática que es inamovible.

Es decir, mientras un lado de la expresión siempre sea fija y el origen de la otra expresión nunca cambie, entonces jamás pasará algo mal ahí.

Cita:
como no estoy muy seguro lo que se me ocurrio es hacer una funcion parecida a la de mysqli mysql_real_escape_string para evitar ataques contra la base de Datos...
1. Escapar dichos datos antes de hacer una comparación en PHP es sencillamente inútil.

Los datos no hacen daño sino hasta que se introducen a la base de datos, y justo ahí es donde uno debe escapar apropiadamente: no antes.

2. Es un error pensar que por "sanitizar" los datos al recibirlos evitamos ataques.

De hecho usar tus propias funciones sólo empeora las cosas, lo correcto es usar consultas preparadas y dejar que el driver de la base de datos haga su trabajo.

¿O no preparas tus consultas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: seguridad, sql
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 07:26.