Ver Mensaje Individual
  #9 (permalink)  
Antiguo 02/04/2015, 23:03
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Recuperar string de la base de datos y que se RESPETEN los caracteres UTF-

Cita:
Si el usuario enviaba carateres especiales, sobre todo de inyeccion SQL y XSS, como las comillas
" ", o los mayorQue menorQue > <, esta era mi preocupacion.
Es una preocupación bastante mal enfocada.

Lo correcto es dejar intactos los datos.

¿Por qué?

1. SQL

Porque una inyección de SQL no se ejecutará jamás por sí misma, sólo ocurre si no preparas las consultas, así que si armas tus consultas de SQL a mano ahí está el problema.

Por eso debes escapar las consultas, usando PDO por ejemplo, pero jamás alterando la información original: ese es un error bastante común pensar así.

2. XSS

De igual forma, una inyección de XSS jamás se ejecutará por sí misma, sólo ocurre si imprimes la información directamente al documento, sin precaución alguna y sin escapar apropiadamente dicho HTML en caso de permitirlo.

Por eso debes, o bien, eliminar todo el HTML al recibir la información (en caso de limitarlo) o bien, filtrarlo adecuadamente antes de guardar: jamás debes alterar la naturaleza original de la información.

Porque además, ¿sabes qué?

La función htmlspecialchars() termina incrementando la cantidad de caracteres necesarios para preservar información en la base de datos ¡de manera inútil!

Una inyección de SQL jamás ocurrirá si preparas tus consultas, así como algo de HTML+XSS no hace daño en la base de datos.

Sólo hay que preocuparse de él al momento de enviarlo al navegador, así como al momento de ejecutar las consultas.

Lo del césar al césar pues, no inventes técnicas innecesarias.

Así que no le veo lo "obvio" lo que planteas.

Estás mal, muy mal.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.