Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.120.204] |
|
Сообщ.
#1
,
|
|
|
Можно ли не использовать percent‐encoding в ссылках, т.е. в href писать кириллицей и другими буквенными символами, которые подпадают под \w в регулярных выражениях php? Насколько это валидно, нет ли скрытых опасностей типа XSS инъекций, если ссылки добавляются пользователями на форуме?
Вот пример نشانی_وب |
Сообщ.
#2
,
|
|
|
Как видишь сейчас уже нету, т.е. можно экранировать лишь 5 символов - `\`, `?`, `&`, `#`, `/` (помимо `>`, `<`, `'` и `"`). Но предлагаю посмотреть как конвертируются ссылки, например в медиавики движке - думаю это практически эталон.
|
Сообщ.
#3
,
|
|
|
Цитата Serafim @ А их зачем экранировать? Какая опасность? Как видишь сейчас уже нету, т.е. можно экранировать лишь 5 символов - `\`, `?`, `&`, `#`, `/` |
Сообщ.
#4
,
|
|
|
это составляющие url-адреса
Добавлено ещё двоеточие, забыл про него =) |
Сообщ.
#5
,
|
|
|
Цитата Serafim @ это составляющие url-адреса Вы имеете ввиду, их надо экранировать, если надо передать их буквально? Но мой главный вопрос не в этом. Мне все равно, корректные ли данные несет урл. Меня волнует безопасность от XSS и валидность html кода. Короче говоря, какие символы можно разрешать вносить пользователям в тег [url=] ? |
Сообщ.
#6
,
|
|
|
Цитата S.Eugene @ какие символы можно разрешать вносить пользователям в тег [url=] ? имхо любые, кроме ">". А вообще у пыха и жс есть встроенные функции экранирования, подозреваю что у питонки, рубей и прочих - альтернатива найдётся. |
Сообщ.
#7
,
|
|
|
Цитата Serafim @ имхо любые, кроме ">". Еще как минимум `"` Если [url=X] преобразуется в <a href="X"> То [url=http://ya.ru" OnClick="alert('bad')] преобразуется в <a href="http://ya.ru" OnClick="alert('bad')"> |
Сообщ.
#8
,
|
|
|
Ну да.
Добавлено А чем уже существующие реализации не устраивают, например: https://packagist.org/packages/mjohnson/decoda? Что за язык кстати? А то я тут привожу в пример похапе... |