Опитвам се да дезинфекцирам въведеното от потребителя, за да предотвратя инжектиране на XSS с помощта на HTML cleaner на libxml. Когато въвеждам низ като този:
Normal text <b>Bold text</b>
Вместо това получавам това:
<p>Normal text <b>Bold text</b></p>
Искам да се отърва от маркера <p>
, който заобикаля целия ми вход.
Ето функцията, която в момента извършва почистването:
from lxml.html import clean
cleaner = clean.Cleaner(
scripts = True,
javascript = True,
allow_tags = None,
)
def sanitize_html(html):
return cleaner.clean_html(html)
Несвързана бележка, горният код има един ред: allow_tags = None
, където се опитвам да премахна всички HTML тагове. libxml има ли функция за бял списък, където разрешавам само определени тагове?
<p>
? - person Karl Knechtel   schedule 23.06.2011