Addcslashes / publishlashes / str_replace multibyte no funciona como se esperaba

0

Me gustaría convencer a otro programador de que el uso de addlashes / addcslashes para escapar de los valores de consulta SQL no es seguro. Encontré esa respuesta con respecto a este tema: enlace

Pero no puedo hacer que esto funcione. Lo he intentado de esta manera:

<?php

$asHtmlEntity = '&#xbf27;'; // space here because stackexchange does not escape this
$string = html_entity_decode($asHtmlEntity);
$escaped = addslashes($string);
echo (($string === $escaped) ? 'same' : 'different');

$escaped = str_replace("'", "\'", $string);
echo (($string === $escaped) ? 'same' : 'different');

En ambos casos, se devuelve "igual". No entiendo porque. Por lo que yo entiendo, ambos casos deben devolver "diferente". ¿Hubo alguna solución de seguridad en PHP que aborde este problema o estoy haciendo algo mal?

Saludos cordiales mschop

    
pregunta mscho 11.11.2018 - 13:36
fuente

0 respuestas

Lea otras preguntas en las etiquetas