Пользователи в моем приложении могут отправлять сообщения между ними, и они могут вставлять изображения с открытых сайтов в контент. Я хотел бы загрузить эти изображения и сохранить их в своем собственном хранилище, поэтому мое приложение не сломается при удалении изображений из Интернета.Фильтрация URL-адресов, чтобы разрешить только те, которые являются общедоступными
Я обрушился на последствия для безопасности.
- Что делать, если пользователь отправляет сообщение с img src, которое начинается с
http://localhost
. Я буду запрашивать свой собственный сервер. - Что делать, если src является частным ip. Я буду подключаться к серверам в своей частной сети.
- Что делать, если src является хостом, который разрешает
127.0.0.1
. - И другие неприятные идеи, о которых я не могу думать.
Что я могу сделать, чтобы проверить, что я загружаю изображение с общедоступного сервера и не нажимаю на себя.
Я использую стандартную Java.
Я знаю, что это не отвечает на ваш вопрос, следовательно, комментарий, но как вы гарантируете, что вам разрешено загружать такие изображения по закону? Там может быть фанки авторского права, поэтому, кроме технического риска, это также другой вид риска, который вы должны учитывать, я думаю. –
@lengyelg Я думал, что DCMA защитит приложение в этом случае. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я НЕ адвокат. –
@ АндрейБеньковский Я тоже не такой, поэтому я не уверен, и я бы предпочел написать что-то, что неправда, но это определенно то, что нужно разобраться, прежде чем отправиться жить. Просто хотел привлечь внимание. –