Al trabajar con datos POST en PHP, particularmente dentro de un En el entorno de WordPress, es posible encontrar comportamientos inesperados de escape automático a pesar de tener las comillas mágicas desactivadas. Este desconcertante problema surge cuando los datos POST se escapan automáticamente, a pesar de que, según se informa, las comillas mágicas están deshabilitadas (get_magic_quotes_gpc() devuelve 0).
Al profundizar más Al analizar el problema, resulta evidente que WordPress desempeña un papel crucial en la activación de este mecanismo de escape automático. Cuando WordPress se inicia como parte del proceso de inicialización de su aplicación, su código interfiere con el comportamiento natural de las comillas mágicas de PHP.
WordPress incluye una funcionalidad que intercepta los datos de la solicitud, incluidos los datos POST, y realiza ciertas operaciones, una de las cuales escapa de comillas simples ('). Este comportamiento se extiende incluso cuando las comillas mágicas están deshabilitadas en php.ini.
Un examen más detallado del código base de WordPress revela un error informado en el sistema WordPress Core Trac (ticket 18322). Este problema se relaciona con el manejo incorrecto de los datos de la solicitud, lo que desencadena un escape no deseado.
Afortunadamente, hay una solución disponible para resolver este dilema del escape automático. . El Codex de WordPress recomienda utilizar la función stripslashes_deep() para "eliminar el escape" de los datos POST antes de realizar cualquier operación en ellos. Al emplear esta función, puede anular de manera efectiva el escape automático de WordPress y recuperar los datos en su formato original.
Para implementar esta solución, agregue el siguiente código a su script PHP:
$_GET = array_map('stripslashes_deep', $_GET);
$_POST = array_map('stripslashes_deep', $_POST);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_SERVER = array_map('stripslashes_deep', $_SERVER);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
Este código elimina las barras de todos los superglobales, lo que garantiza que los datos POST no se escapen automáticamente cuando se accede a ellos en PHP.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3