История изменений
Исправление KivApple, (текущая версия) :
Просто либо запрещают HTML в user generated input (путем замены <> на html сущности, а также амперсандов и кавычек, чтобы наверняка), а если нужно форматирование, используют своё (markdown, bbcode или совсем своё) не содержащее ничего лишнего. Либо делают белый список и тегов, и их атрибутов. Потому что делать всякое странное и одними атрибутами уже было можно пару десятилетий или сколько там существует CSS.
Попытка фильтровать html не по белому, а по чёрному списку заведомо попытка обьять необъятное - новые теги и атрибуты появляются регулярно, а браузеры очень терпимы к ошибкам и противоречиям в коде.
В целом это очевидно любому, кто знает html хотя бы на среднем уровне. Столяров - не знает.
Исправление KivApple, :
Просто либо запрещают HTML в user generated input (путем замены <> на html сущности, а также амперсандов и кавычек, чтобы наверняка), а если нужно форматирование, используют своё (markdown, bbcode или совсем своё) не содержащее ничего лишнего. Либо делают белый список и тегов, и их атрибутов. Потому что делать всякое странное и одними атрибутами уже было можно пару десятилетий или сколько там существует CSS.
Попытка фильтровать html не по белому, а по чёрному списку заведомо попытка обьять необъятное.
В целом это очевидно любому, кто знает html хотя бы на среднем уровне. Столяров - не знает.
Исправление KivApple, :
Просто либо запрещают HTML в user generated input (путем замены <> на html сущности, а также амперсандов и кавычек, чтобы наверняка), а если нужно форматирование, используют своё (markdown, bbcode или совсем своё) не содержащее ничего лишнего. Либо делают белый список и тегов, и их атрибутов.
Попытка фильтровать html не по белому, а по чёрному списку заведомо попытка обьять необъятное.
В целом это очевидно любому, кто знает html хотя бы на среднем уровне. Столяров - не знает.
Исправление KivApple, :
Просто либо запрещают HTML в user generated input (путем замены <> на html сущности, а также амперсандов и кавычек, чтобы наверняка), а если нужно форматирование, используют своё (markdown, bbcode или совсем своё) не содержащее ничего лишнего. Либо делают белый список и тегов, а их атрибутов.
Попытка фильтровать html не по белому, а по чёрному списку заведомо попытка обьять необъятное.
В целом это очевидно любому, кто знает html хотя бы на среднем уровне. Столяров - не знает.
Исходная версия KivApple, :
Просто либо запрещают HTML в user generated input (путем замены <> на <>, а также амперсандов и кавычек, чтобы наверняка), а если нужно форматирование, используют своё (markdown, bbcode или совсем своё) не содержащее ничего лишнего. Либо делают белый список и тегов, а их атрибутов.
Попытка фильтровать html не по белому, а по чёрному списку заведомо попытка обьять необъятное.
В целом это очевидно любому, кто знает html хотя бы на среднем уровне. Столяров - не знает.