Как разобрать введенную пользователем строку для URL и безопасно отобразить? - PullRequest
2 голосов
/ 24 июня 2010

Я добавляю функцию в веб-приложение, где пользователи могут нажать кнопку, чтобы ввести ссылку, а затем вставить адрес. Затем я хочу проанализировать введенную строку и извлечь домен из URL, чтобы я мог отобразить домен отдельно рядом со ссылкой. Идея здесь похожа на то, что делает Slashdot, когда ссылки отображаются со своим доменом рядом с ними, так что пользователи имеют некоторую степень предупреждения, прежде чем щелкнуть по вредоносной ссылке, такой как goatse.

Пример отображения ссылки:

<a href="http://www.google.com">Link</a> [google.com]

Какой лучший способ для меня проанализировать, что вводит пользователь? Я бы хотел избежать ограничения пользователей на вставку в любой тип законного протокола. Например, я бы хотел, чтобы они могли войти в "aim: goim? Screenname = SCREENNAME", которая является ссылкой на протокол цели, открывающей окно чата. Для протоколов oddball, таких как target, для которых домен не существует, я хотел бы отобразить протокол вместо домена.

Кроме того, есть ли какие-либо проблемы безопасности, о которых я должен знать?

...