sql >> Databasteknik >  >> RDS >> Mysql

100% säkert sätt att lagra html i MySQL

SQL-injektion är i de flesta fall lätt att undvika med hjälp av förberedda satser.

XSS är svårare om du planerar att tillåta användare att lägga upp HTML-uppmärkning. Du måste ta bort alla <script> taggar, alla on* attribut från taggar, alla javascript: urls, och även då är det förmodligen inte helt garanterat för att göra inmatningen HTML säker. Det finns bibliotek som HTMLPurifier det kan hjälpa, men så länge du tillåter HTML riskerar du att släppa igenom något skadligt.

Du kan använda ett bibliotek som implementerar något som markdown eller wikitext istället. Detta begränsar kraftigt vad användare kan ange, samtidigt som de fortfarande låter dem markera innehållet till en viss grad. Det är inte fullständigt (folk kan fortfarande bara lägga upp länkar till skadliga webbplatser och hoppas att användare klickar sig vidare till dem, vilket vissa kommer att vara naiva nog att faktiskt göra), och du kommer inte att kunna använda en rik redigerare som TinyMCE utan någon sorts av plugin, men det är ett mycket enklare jobb att sanera markdown än det är att sanera HTML.



  1. Hur man skapar en databasdriven navigeringsmeny på flera nivåer med Laravel

  2. Hur GILLAR du ELLER två påståenden?

  3. INFOGA i DB DateTime-sträng

  4. Långsam fråga efter uppgradering av mysql från 5.5 till 5.6