sql >> Databáze >  >> RDS >> Mysql

Dezinfekce vstupu, ale výstupu není podle očekávání

Můj návrh je vytvořit funkci pro dezinfekci všech vašich textových vstupů a funkci pro kontrolu všech vašich výstupů, které pocházejí z databáze nebo jiných zdrojů, jako je následující:

<?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;
}

v závislosti na vaší strategii můžete do filtru přidat další funkce nebo některé odebrat. Ale to, co zde máte, stačí k tomu, aby vás ochránilo před XSS.

UPRAVIT: kromě výše uvedené funkce tato odpověď může být také relevantní jako součást ochrany vašeho webu.

Odkaz na různé metody:

Je také dobré podívat se na následující odkazy:

A co je důležité, je dobré znát 10 hlavních rizik a dozvědět se o nich více.



  1. Škálování PostgreSQL pro velké množství dat

  2. MYSQL - Vytvořte jeden SQL dotaz z více dotazů

  3. Můžete přidat příkaz if do ORDER BY?

  4. Ukládání hodnot Lat Lng v MySQL pomocí Spatial Point Type