Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

365
Visualizações
¿Cómo saber si se ha pasado una cadena a través de htmlentities en PHP? ¿Y necesita html_entity_decode?

Guardamos datos en nuestra base de datos después de pasarlos a través del método htmlentities para evitar ataques de inyección.

Y mientras lo usamos, hacemos html_entity_decode para recuperar el valor original. En algunos casos, en nuestro código, las htmlentities se realizan 2 o 3 veces en la misma porción de datos debido a nuestras técnicas de guardado (difícil de explicar). Básicamente, queremos evitar codificar las mismas cadenas varias veces.

¿Existe una buena manera confiable de detectar si una cadena ya se pasó a través del método htmlentities ?

Supongo que una forma es buscar cosas como " en la cadena codificada, pero ¿algo más confiable? ¿Algún método integrado que me diga si una cadena está codificada o no?

Estamos usando Laravel, ¿tal vez un método auxiliar allí que podría ayudarnos?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Este es fundamentalmente el enfoque incorrecto de la OMI. Almacene los datos sin procesar, tal como vienen. Mientras esté en la base de datos no puede hacerte ningún daño.

Páselo a través htmlentities solo cuando esté a punto de ponerlo en un documento HTML, porque ese es el único contexto en el que podría ser peligroso.

Eso ahorrará toda la codificación y decodificación: simplemente codifíquelo a pedido según sea necesario.

over 4 years ago · Santiago Trujillo Relatório

0

Como lo mencionó ADyson, está manejando los datos incorrectamente en todo su sistema.

El motor de plantillas de Laravel "Blade" enviará automáticamente sus variables a través de htmlspecialchars() para evitar ataques XSS.

De la documentación :

Las declaraciones Blade {{ }} se envían automáticamente a través de la función htmlspecialchars de PHP para evitar ataques XSS.

Esto protegerá su sitio de posibles ataques XSS, sin necesidad de codificar/decodificar sus datos mientras ejecuta consultas INSERT / SELECT en su base de datos.

Siempre que esté utilizando DB Builder / Eloquent incorporado de Laravel, sus consultas SQL también están protegidas automáticamente :

El generador de consultas de Laravel utiliza el enlace de parámetros PDO para proteger su aplicación contra ataques de inyección SQL. No es necesario limpiar las cadenas que se pasan como enlaces.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda