"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso analisar JSON "relaxado" com segurança sem usar `eval`?

Como posso analisar JSON "relaxado" com segurança sem usar `eval`?

Publicado em 2024-11-07
Navegar:204

How Can I Safely Parse \

Análise de JSON "relaxado" sem avaliação arriscada

JSON, um formato de troca de dados amplamente usado, requer sintaxe estrita com chaves entre aspas. No entanto, certos aplicativos podem encontrar JSON "relaxado" com chaves sem aspas. A análise de tais dados usando eval é desencorajada devido a riscos de segurança.

Evitando Evil Eval

Uma alternativa para eval é uma abordagem baseada em expressão regular que limpa o JSON antes de analisar . Este método verifica a string JSON e substitui quaisquer chaves sem aspas por chaves entre aspas, garantindo a conformidade com a sintaxe JSON padrão sem comprometer a segurança.

Exemplo de implementação

Para implementar esta abordagem, siga estas etapas:

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);

Conclusão

O uso de expressões regulares para higienizar o JSON relaxado permite uma análise perfeita, evitando os possíveis riscos de segurança associados à avaliação.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3