2015-10-05 3 views
0

Я создал простой веб-клиент электронной почты.Лучший способ блокировки изображений в электронной почте, отображаемых в браузере?

Я хочу «заблокировать» (т. Е. Не показывать) изображения, протокол которых - http (vs https), потому что мой сайт обслуживается через ssl, и я не хочу предупреждать о ненадежном содержании.

Каков наилучший способ сделать это? Должен ли я перемещаться по электронной почте dom и устанавливать для изображения href значение "" (т.е. пустую строку)?

Есть ли лучший способ?

Следует отметить, что это временная мера. В будущем я настрою систему прокси-кэша изображений, похожую на gmail.

+1

на ServerSide удалите HREF атрибуты .... – epascarello

+0

Привет @epascarello Таким образом, вы бы также предложить удаление hrefs как лучший способ «блок» образы? – richard

+1

На клиентском столе нет ничего, что могло бы заставить браузер не запрашивать их, поэтому вам нужно сделать это на сервере. Задайте их как data-href, установите href в какой-либо заполнитель или вообще ничего. И если пользователь хочет просмотреть изображения, чем просто поменять данные href для href. – epascarello

ответ

0

Я посмотрел, как это делается в Outlook, gmail, yahoo и т. Д. В основном они просто используют образ-заполнитель (размещенный на каком-то cdn), это всего лишь маленький серый квадрат, и они позволяют атрибутам размера img tag масштабирует его до нужного размера.

Таким образом, все, что они делают, это изменение URL-адреса тега img как URL-адреса серого окна.

Умное изменение, если вы хотите в конечном итоге отобразить правильное изображение (включить изображения), - это сохранить URL-адрес реального местоположения изображения как часть строки запроса, которая может быть проанализирована и использована позже, чтобы получить реальное изображение:

http://mycdn.com/placeholderimage.jpg?http://realcdn.com/therealimage.jpg

Смежные вопросы