sql >> Database >  >> RDS >> Mysql

Is Markdown (met strip_tags) voldoende om XSS-aanvallen te stoppen?

Ik denk dat het strippen van een HTML-tag van de invoer je iets behoorlijk veiligs zal opleveren - behalve als iemand een manier vindt om wat echt verknoeide gegevens in Markdown te injecteren, waardoor het nog meer verwarde uitvoer genereert ^^

Toch zijn er twee dingen die in me opkomen:

Eerste: strip_tags is geen wonderfunctie:het heeft enkele gebreken...
Het verwijdert bijvoorbeeld alles na de '<', in een situatie als deze:

$str = "10 appels is <than 12 apples";
var_dump(strip_tags($str));

De output die ik krijg is:

string '10 appels is ' (length=13)

Wat niet zo prettig is voor uw gebruikers :-(


Tweede: Op een of andere dag wil je misschien wat HTML-tags/attributen toestaan; of, zelfs vandaag de dag, wil je er zeker van zijn dat Markdown geen HTML-tags/attributen genereert.

Mogelijk bent u geïnteresseerd in iets als HTMLPurifier :hiermee kun je specificeren welke tags en attributen moeten worden bewaard, en een string filteren, zodat alleen die overblijven.

Het genereert ook geldige HTML-code -- wat altijd leuk is ;-)



  1. SQL - Hoe te transponeren?

  2. Creditcardnummers opslaan in SESSION - manieren om het te omzeilen?

  3. psycopg2-equivalent van mysqldb.escape_string?

  4. Als ik verbinding maak met mijn externe SQL-server, krijg ik toegang geweigerd voor gebruiker [email protected] (Wachtwoord gebruiken:Ja)