sql >> Database teknologi >  >> RDS >> Mysql

Desinficerende input, men output ikke som forventet

Mit forslag er at bygge en funktion til at rense alle dine tekstinput og en funktion til at kontrollere alle dine output, der kommer fra databasen eller andre kilder, såsom følgende:

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

afhængigt af din strategi kan du tilføje ekstra funktioner til filteret eller fjerne nogle. Men det, du har en funktion her, er nok til at beskytte dig mod XSS.

EDIT: ud over ovenstående funktion, dette svar kan også være relevant i en del af beskyttelsen af ​​dit websted.

Henvisning til de forskellige metoder:

Det er også en god idé at se på følgende links:

Og vigtigst af alt er det godt at være opmærksom på Top 10 risici og lære mere om det.



  1. Eksport af MYSQL-data til Excel/CSV via php

  2. MySQL hvor DateTime er større end i dag

  3. PostgreSQL:Giv alle tilladelser til en bruger på en PostgreSQL-database

  4. Sådan tilføjes xml-kodning <?xml version=1.0 encoding=UTF-8?> til xml-output i SQL Server