sql >> Databasteknik >  >> RDS >> Mysql

Saneringsinmatning men utgång inte som förväntat

Mitt förslag är att bygga en funktion för att rensa alla dina textinmatningar och en funktion för att kontrollera alla dina utdata som kommer från databasen eller andra källor, som följande:

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

beroende på din strategi kan du lägga till extra funktioner i filtret eller ta bort några. Men det du har en funktion här är tillräckligt för att skydda dig mot XSS.

EDIT: förutom ovanstående funktion, det här svaret kan också vara relevant i en del av ditt webbplatsskydd.

Hänvisning till de olika metoderna:

Det är också en bra idé att titta på följande länkar:

Och viktigast av allt är det bra att vara medveten om topp 10 risker och lära sig mer om det.



  1. SQL Server - använder CASE i WHERE-satsen

  2. Nya Oracle-kompatibilitetsfunktioner i PostgresPlus Advanced Server 9.3Beta

  3. Hämta varbinary(MAX) från SQL Server till byte[] i C#

  4. Hur man utför en lagrad procedur i en urvalsfråga