LJR: bugs - Работает и в ЛЖР
[Recent Entries][Archive][Friends][User Info]
06:25 pm [peter_lemenkov]
[Link] |
Работает и в ЛЖР http://apazhe.net/2008/08/03/8182/#comments
Как вариант решения - запретить html онанимусам.
|
|
| |
Скринить анонимные комментарии.
Само собой. Я дисаблил эксплойт добавлением строки hash->{style} =~s/(position|top|left|width|height):.*?(?:;|$)//gi (всем, не только анонимам), в результате какие-то вполне легитимные юзеры лишились функциональности, но как временное решение сойдет, а потом Петя придумает умное
position, top, left никто из добрых побуждений использовать не будет точно. width и height — только что задать размеры картинки или вроде того, но не особо нужно.
Испортить страницу можно еще несколькими способами, хотя бы написать
<span style="font-size: 5000%">foobar</span>
Наверное, анонимам проще вообще запретить style.
Да, но есть же еще <font size=1000> или типа того
штуку с span style="font-size: 5000%" (а равно и с изображением залупы в тот же размер) народ вроде активно практикует в комментах уже лет 10, с ней легко бороться посредством стирания и бана. Эксплойт с position, top, left таким образом не лечится, если не делать nohtml=1, а типичному пользователю это будет очень трудно обьяснить
хотя сделать опцию "запретить анонимам html" нужно, да, обязательно
А им уже нельзя ставить ссылки и нормально добавлять картинки. (Это еще в движке LJ было, как я понимаю.) Так что если полностью запретить разметку — ничего страшного. 1. Указать рядом с полем ввода комментария, что под анонимом HTML нельзя. 2. В код добавить use HTML::Entities;
# ...
# если аноним
{
encode_entities($text, '<>&"');
}Как-то так.
Даже не '<>&"', а просто '<>&'. |
|