"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo analizar de forma segura JSON \"relajado\" sin utilizar `eval`?

¿Cómo puedo analizar de forma segura JSON \"relajado\" sin utilizar `eval`?

Publicado el 2024-11-07
Navegar:325

How Can I Safely Parse \

Análisis de JSON "relajado" sin evaluación riesgosa

JSON, un formato de intercambio de datos ampliamente utilizado, requiere una sintaxis estricta con claves entre comillas. Sin embargo, ciertas aplicaciones pueden encontrar JSON "relajado" con claves sin comillas. Se desaconseja analizar dichos datos usando eval debido a riesgos de seguridad.

Evitar Evil Eval

Una alternativa a eval es un enfoque basado en expresiones regulares que desinfecta el JSON antes de analizar . Este método escanea la cadena JSON y reemplaza las claves sin comillas por otras entre comillas, lo que garantiza el cumplimiento de la sintaxis JSON estándar sin comprometer la seguridad.

Ejemplo de implementación

Para implementar este enfoque, sigue estos pasos:

var badJson = "{muh: 2}";

// Sanitize the JSON using regular expression replace
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_] )(['"])?:/g, '"$2": ');

// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);

Conclusión

El uso de expresiones regulares para desinfectar JSON relajado permite un análisis fluido y al mismo tiempo evita los posibles riesgos de seguridad asociados con eval.

Último tutorial Más>

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