sql >> Databasteknik >  >> RDS >> Mysql

PHP säkerhetsfråga?

Det finns två fronter att tänka på när du accepterar användargenererad text som senare kommer att visas.

Först och främst måste du skydda din databas från injektionsattacker. Det finns en enkel PHP-funktion för detta:mysql_real_escape_string() kommer vanligtvis att räcka för att skydda din databas från injektion när du skickar in denna sträng för att lagra som ett fältvärde.

Därifrån måste du vara försiktig med din visning, eftersom en användare som får ladda upp HTML-kod kan göra otäcka saker mot andra användare när den koden visas. Om du gör artiklar i klartext kan du helt enkelt htmlspecialchars() den resulterande texten. (du kommer förmodligen också att vilja konvertera nyrader till
-taggar.) Om du använder en formateringslösning, som Markdown-motorn som används på den här webbplatsen, kommer dessa lösningar vanligtvis att tillhandahålla HTML-sanering som en funktion av motorn , men se till att läsa dokumentationen och se till.

Åh, se till att du också verifierar dina GET/POST-variabler som används för att skicka in artiklarna. Det säger sig självt, och verifieringen som utförs kommer att behöva skräddarsys för vad din webbplats gör med sin logik.



  1. InnoDB:Operativsystemfel nummer 23 i en filoperation

  2. MySQL fulltextsökning över flera kolumner:resultatförvirring

  3. Hur kan jag se hur många MySQL-anslutningar som är öppna?

  4. Spåra hög tillgänglighet för PostgreSQL med hjärtslag