Я создал свою собственную систему форумов, и одна из особенностей этой системы заключается в том, что пользователи могут связывать изображения в своих сообщениях.Чтобы было понятно, они могут окружить свою ссылку на изображение с помощью BBCode следующим образом:
[img]https://www.example.com/someimg.jpg[/img]
Затем я использую регулярное выражение для форматирования вывода их сообщения, отправленного из базы данных, поворачивая егов HTML:
<img src="https://www.example.com/someimg.jpg" alt="user-img" />
Я думал, что это нормально, пока мне не пришлось создавать систему, позволяющую пользователям загружать свои собственные изображения профиля, за это время я исследовал и провел несколько проверок безопасностичтобы предотвратить отправку вредоносных данных при загрузке изображений (проверьте типы файлов, измените переданное имя изображения перед сохранением, не разрешайте прямой доступ к этим изображениям и т. д.).Я также прочитал этот вопрос , в котором упоминаются некоторые потенциальные проблемы безопасности, связанные с пользовательским HTML, но больше о том, чтобы позволить пользователям напрямую редактировать HTML.
Я знаю множество веб-сайтов, включая переполнение стека, которые позволяютпользователи для вставки изображений в свои посты / комментарии.Что мешает кому-то загрузить подделанное изображение на свой сайт и связать его с другим сайтом?Что я могу сделать, чтобы сделать мой текущий метод более безопасным?