
Я хочу использовать кэширующий прокси-сервер, чтобы принудительно перенаправить все соединения на моей странице через SSL, а незащищенные соединения пусть обрабатывает прокси-сервер.
Этот прокси-сервер доступен из Интернета.
Теперь мне стало интересно, что мешает кому-то использовать этот прокси?
По сути, мне нужно отобразить содержимое электронной почты в браузере, а встроенные ресурсы должны быть переданы через SSL, например https://myproxy.com?url=http%3A%2F%2Funsecure.com%2Fa.png
.
решение1
Если я правильно понимаю, вы отображаете содержимое сторонних писем на своем сайте (т. е. ваша система загружает письма и отображает их на веб-странице). При этом вам следует быть очень осторожными с рисками XSS и правильно экранировать и отображать получаемое вами содержимое. Это гораздо легче сказать, чем сделать, особенно если вы хотите, чтобы письма сохраняли свой общий вид и восприятие.
Например, GMail по умолчанию скрывает весь сторонний контент, и если вы решите загрузить его, браузер фактически покажет предупреждающий знак поверх указания «безопасное соединение». Если вы решите сделать это, использование отдельного домена будет хорошей идеей. «Этого достаточно для Google» — вероятно, будет достаточно приличным оправданием для клиента.
Ничто не мешает кому-либо использовать ваш прокси для любого типа контента, если вы реализуете его наивным способом. Вы можете добавить какую-то HTTP-аутентификацию на сервер, выполняющий проксирование (на основе cookie, HTTP-аутентификации или клиентских сертификатов TLS). В обычных условиях, на основе cookie, вероятно, единственный вариант, который имеет смысл. Более сложные альтернативы включают парсинг электронной почты, извлечение хотлинкованных ресурсов и переписывание URL-адресов, так что ваш прокси-сервер получает только специально созданные запросы проксирования, а не все, что ваши пользователи вводят в адресную строку.
Если вы объясните общее назначение и функциональность создаваемой вами системы, возможно, я смогу предложить лучшее решение.