Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sanitização de entrada, mas saída não conforme o esperado


Minha sugestão é construir uma função para higienizar todas as suas entradas de texto e uma função para verificar todas as suas saídas que vem do banco de dados ou de qualquer outra fonte, como segue:
<?php
// filter for user input
function filterInput($content)
{
    $content = trim($content);
    $content = stripslashes($content);

    return $content;
}

//filter for viewing data
function filterOutput($content)
{
    $content = htmlentities($content, ENT_NOQUOTES);
    $content = nl2br($content, false);

    return $content;
}

dependendo da sua estratégia, você pode adicionar recursos extras ao filtro ou remover alguns. Mas o que você tem uma função aqui é suficiente para protegê-lo contra XSS.

EDITAR: além da função acima, esta resposta também pode ser relevante em parte da proteção do seu site.

Referência aos diferentes métodos:

Também é uma boa ideia dar uma olhada nos seguintes links:

E o mais importante, é bom estar ciente dos 10 principais riscos e aprender mais sobre isso.