Foros del Web » Programando para Internet » PHP »

sobre base 64 y parse_str

Estas en el tema de sobre base 64 y parse_str en el foro de PHP en Foros del Web. Hola codifique algo asi $r="hola"&d=" LIKE \'%125%\' " (es un trozo de sentencia sql y debe llevar comillas simples) hice $t=base64_encode($r); cosas, cosas luego hago ...
  #1 (permalink)  
Antiguo 05/03/2004, 20:26
 
Fecha de Ingreso: enero-2004
Mensajes: 144
Antigüedad: 13 años, 10 meses
Puntos: 0
sobre base 64 y parse_str

Hola

codifique algo asi

$r="hola"&d=" LIKE \'%125%\' "
(es un trozo de sentencia sql y debe llevar comillas simples)

hice $t=base64_encode($r);

cosas, cosas
luego hago

parse_str(stripcslashes(base64_decode($t)));

y $d queda mal, queda algo como un cuadrito
reemplazando al '%25 Es muy extraño. q puede ser.

El cuadrito es como esas caritas q aparecen cuando uno ve en ascii datos binarios (type hola.exe)

Q puede ser?
estará pesimamente configurado mi php (esta en windows)?

chao
  #2 (permalink)  
Antiguo 07/03/2004, 14:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(comentario: (no resuelvo tu duda directamente .. pero presta atención):

Por lo visto .. estás pasando sentencias SQL por el URL .. es decir .. compones algún tipo de link y ahí pasas una sentencia SQL que ejecutas directamente sobre tu BD ...

Bien, esto es ALTAMENTE PELIGROSOOO! .. aunque uses codificación base64() .. lo mismo que tu codificas .. alguien maliciosos si nota esa estructura lo va a probar y si lo hace tu aplicación corre ALTO peligro (tus Base de datos).

Te recomiendo encarecidamente que NOOOOO propagues en URL ni en general en ningún médio sentencias SQL .. propaga (pasa ->) sólo DATOS y dejas tus estructuras SQL fijas o "dinámicas" a partir de otras variables, variables que podrás validar según el rango esperado .. el tipo de esta .. etc ... Reduciras considerablemente ese problema de seguridad que estás teniendo actualmente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 08/03/2004, 12:44
 
Fecha de Ingreso: enero-2004
Mensajes: 144
Antigüedad: 13 años, 10 meses
Puntos: 0
ok, gracias

Gracias, pero el tema de la seguridad, aunque eso lo tengo muy claro, pero este tema no es tan fuerte en lo q estoy haciendo, ya q el sistema no estará en linea. Lo hago en php porque me es más facil. En una "siguiente versión" arreglo esto.
  #4 (permalink)  
Antiguo 08/03/2004, 15:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, pues entonces no sé por qué te complicas codificando el url .. en base64() .. usa simplemente urlencode() para evitar problemas con espacios y demás caracteres fuera del ASCII "legible" y listo ... (pero si quieres aplica también base6e() encode ... y decode al otro lado (en el script que recibas ese link).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 08/03/2004 a las 15:11
  #5 (permalink)  
Antiguo 09/03/2004, 08:52
 
Fecha de Ingreso: enero-2004
Mensajes: 144
Antigüedad: 13 años, 10 meses
Puntos: 0
mmm

...bueno, en realidad queria "codificar" de alguna manera las variables q envio y no fueran tan notorias. Pero no es lo primordial la seguridad, por eso lo hacia con base64. Sobre el base63_encode y decode me funciona bien, creo el problema estaba en el parse_str, pero voy a hacer las pruebas con urlencode().

Gracias
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 22:13.