Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];

Вниз

Картинки сторонних сайтов на https страничке.   Найти похожие ветки 

 
Дмитрий С ©   (2011-05-12 11:20) [0]

Делаю форум. Хочу сделать возможность втыкать картинки в сообщения без загрузки их на сервер. Все сделал, но вот одно но: HTTPS. Дело в том, что форум мой, после авторизации на сайте, работает исключительно по протоколу HTTPS, и некоторые браузеры (на практике только IE) выдают наглое сообщение о том, что с безопасностью проблемы, остальные молчаливо скрывают замочек из адресной строки.

Что с этим ИЕ делать то, как заткнуть?


 
Dennis I. Komarov ©   (2011-05-12 11:23) [1]

ИМХО, не надо его затыкать, он правильно ругается, ибо юзер не обязан тебе доверять


 
KSergey ©   (2011-05-12 11:42) [2]

> Дмитрий С ©   (12.05.11 11:20) 

Я не понял: это происходит после авторизации или после втыкания картинок? а картинки тогда как втыкаются "без загрузки на сервер"?

> Dennis I. Komarov ©   (12.05.11 11:23) [1]

Вы, вероятно, поняли автора. Можно чуть подробнее раскрыть тему? как ХТТПС связан с картинками?


 
Anatoly Podgoretsky ©   (2011-05-12 11:53) [3]

> Дмитрий С  (12.05.2011 11:20:00)  [0]

Не делать так, правильно делают, другие бы просто побили.


 
Dennis I. Komarov ©   (2011-05-12 12:06) [4]


> KSergey ©   (12.05.11 11:42) [2]

Исходя из:
> Дело в том, что форум мой, после авторизации на сайте, работает
> исключительно по протоколу HTTPS, и некоторые браузеры (на
> практике только IE) выдают наглое сообщение о том, что с
> безопасностью проблемы

понимаю так, что после авторизации переходит на https, на сертификаты которого браузер и ругается. Картинки пока вроде не при делах.


 
Дмитрий С ©   (2011-05-12 12:16) [5]


> Dennis I. Komarov ©   (12.05.11 12:06) [4]

Сертификат правильный (на компе у меня установлен, для внешки потом куплю).
К примеру, у меня на сервере хостится страничка
https://myserver.ru/index.htm
Эта страничка содержит следующий тег:
<img src="http://otherserver.ru/123.jpg" />

Так вот браузер (ие) ругается на то, что на своей страничке, загруженной по HTTPS, я хочу показать картинку, загруженную по HTTP. Страница содержит небезопасные элементы.  Вот мне хочется сделать так, чтобы браузер  ИЕ не выдавал навязчивого предупреждения. Предупреждения не выдают ни FF, ни хром, ни опера.


 
Kerk ©   (2011-05-12 12:17) [6]

Браузер всегда ругается, если на https-странице присутствует не-https-содержимое. Например, подгружаемые с другого сайта картинки. Понять опасения браузера можно и вылечить это никак нельзя.

Для таких случаев, грамотные сервисы типа Google Analytics, предоставляют и https-версию ссылки для вставки на страницу.

Это если я правильно понял проблему автора.


 
Дмитрий С ©   (2011-05-12 12:31) [7]


> Kerk ©   (12.05.11 12:17) [6]

Правильно понял, да.

Получается - либо прокси делать, либо запрещать картинки с других сайтов, либо предупреждать пользователей о возможных предупреждениях. Последний вообще не вариант (


 
KSergey ©   (2011-05-12 14:03) [8]

Теперь понял.

Остальные браузеры по сути тоже ругаются, только зря делают это "ненавязчиво"
А вообще - совершенно не ясно зачем форум по HTTPS.
Да еще и вставлять на него всякий хлам. Наверное, вы не понимаете сути HTTPS


 
Дмитрий С ©   (2011-05-12 14:16) [9]


> KSergey ©   (12.05.11 14:03) [8]

После авторизации нельзя дать перехватить/отснифить кукис сессии. Прецеденты у нас были в городе.
Форум государственный, на нем помимо прочего будут публиковаться официальные сообщения. Нельзя допустить, чтобы кто-то, кроме лица мог сделать это от его имени. К тому же для сотрудников организации на форуме действует доменная авторизация, а передавать такой важный пароль в открытом виде - вообще грех.


 
KSergey ©   (2011-05-12 14:44) [10]

> Дмитрий С ©   (12.05.11 14:16) [9]

HTTPS - это не только шифрование трафика, но и гарантия того, что получаем мы информацию именно с того сервера, с которого ожидаем. И, что еще важнее - передаем именно и только на тот, на который ожидаем.
А вы хотите картинки левые позволять грузить, причем проксирование здесь - расстрельная статья на мой взгляд. Этим вы намеренно введете пользователя в заблуждение: он уверен, что получет инфу с вашего сайта, надеясь, что вы обеспечиваете защиту от подмены - а вы ему не стесняясь подсовываете левые порнокартинки, которые легко подменить, причем порно - это еще цветочки.

Может сменить технологию авторизации? ну чтобы перехват трафика не помогал.
Как - не знаю.


 
Иксик ©   (2011-05-13 03:24) [11]

Картинки втыкать в другой документ, а его показывать в iFrame по https ссылке, ЕМНИМ помогло.


 
Иксик ©   (2011-05-13 03:25) [12]

Не  уверен правда


 
Дмитрий С ©   (2011-05-13 04:13) [13]


> Иксик ©   (13.05.11 03:24) [11]

Браузер будет ругаться на картинки во фрейме. Можно конечно с флешем замутить, но не уверен, что ие и туда не залезет, да и монстрский способ какой то:)


 
KSergey ©   (2011-05-13 08:32) [14]

> Дмитрий С ©   (13.05.11 04:13) [13]

Ну т.е. понимания не наступило... печально, зря клавиатуру марал.
Привет государственному форуму!
матерщину написал, но стер


 
Дмитрий С ©   (2011-05-16 21:09) [15]


> HTTPS - это не только шифрование трафика, но и гарантия
> того, что получаем мы информацию именно с того сервера,
> с которого ожидаем. И, что еще важнее - передаем именно
> и только на тот, на который ожидаем.

Ты это сам придумал? А пафоса то сколько.

А теперь по существу: Было бы это так, было бы нельзя размещать на своей HTTPS страничке HTTPS элементы других сайтов, например, яндекс-метрики или гугл-аналики. Браузерам важно, чтобы все элементы страницы были получены по защищенному каналу, а с каких доменов значения не имеет.

Отсюда возникает вопрос: почему выбор какие элементы защищать, какие нет не на ответственности разработчика?


 
Leon-Z ©   (2011-05-16 21:19) [16]

Да. Что-то форум очень порнушкой пахнет, и не просто
порнушкой, а извращениями какими-то, что по HTTPS надо
работать и картинки с других источников грузить.
-
А вообще эта проблема очень просто решается с помощью
java-script, но не скажу как, потому что ИМХО - порнушкой нездоровой всё это пахнет.


 
icelex ©   (2011-05-16 21:26) [17]

я одного не понимаю, что мешает сделать шлюз для картинок типа <img src="index.php?img=..." ... />?
так не нарушается общая логика + ты можешь проверять загружаемые картинки на предмет их "безопасности"


 
Иксик ©   (2011-05-16 21:34) [18]

Тогда надо просто создать простую страничку у себя, доступную по https и ей передавать вражую урлу, а она пусть рисунок грузит и на вывод пишет.


 
Дмитрий С ©   (2011-05-17 06:24) [19]


> А вообще эта проблема очень просто решается с помощью
> java-script, но не скажу как,

По подробнее можно? Обещаю как будет сделано показать, какая там порнушка то. https на форуме лишь для того, чтобы id сессии нельзя было перехватить.


> Тогда надо просто создать простую страничку у себя, доступную
> по https и ей передавать вражую урлу, а она пусть рисунок
> грузит и на вывод пишет.

Не совсем понял о чем речь.


> я одного не понимаю, что мешает сделать шлюз для картинок
> типа

Ничего не мешает на самом деле. Просто не хочется делать открытый прокси у себя на сайте.


 
KSergey ©   (2011-05-17 09:35) [20]

> Дмитрий С ©   (16.05.11 21:09) [15]
> Ты это сам придумал?

Нет.

> Было бы это так, было бы нельзя размещать на своей HTTPS страничке HTTPS элементы других сайтов
> Браузерам важно, чтобы все элементы страницы были получены по защищенному каналу, а с каких доменов значения не имеет.

Да будем вам известно, непафосный вы наш, что браузеру далеко не пофик с какого сайта получать элементы страницы. И, опять же, защищенное соединение тут только половина дела.
С каждого из такого сйта браузер получает сертификат и проверяет, что это сертификат именно этого сайта, а не другого. И что выдан он известным удостоверяющим центром.

Так что про то, что "с каких доменов значения не имеет" - это как раз ваши фантазии. Браузер же действует иначе. Но это известно только нам, пафосным.


 
Anatoly Podgoretsky ©   (2011-05-17 09:36) [21]

> Дмитрий С  (17.05.2011 06:24:19)  [19]

А зачем делать открытый?


 
KSergey ©   (2011-05-17 09:39) [22]

> Иксик ©   (16.05.11 21:34) [18]
> Тогда надо просто создать простую страничку у себя, доступную по https и ей передавать вражую урлу,

Да да, сегодня по вражьей урле лежит приличный портрет Путина, а завтра картинку поменяют на голого Медведева. На государственном ресурсе, заметьте.
Но парни в погонах - они простые, без затей. Придут и уведут того, кто эту картинку со своего ресурса отдал (причем подтвердив сертификатом, что под этим контентом подписывается). И поделом.


 
icelex ©   (2011-05-17 09:54) [23]


> Дмитрий С ©   (17.05.11 06:24) [19]
> Ничего не мешает на самом деле. Просто не хочется делать открытый прокси у себя на сайте.

какой к диаволу открытый прокси?
скриптом - что у тебя там? php? asp.net? - грузишь картинку, потом выводишь ее в ответ
можешь даже водяной знак на картинку ставить, типа "чесна стырена с сайта таковата"


 
Anatoly Podgoretsky ©   (2011-05-17 09:54) [24]

Проблема с Медведевым гипотетическая, а вот завтра там будет лежат вирус, самозапускаемый и злобный.


 
sniknik ©   (2011-05-17 09:58) [25]

> По подробнее можно?
думаю он хочет предложить Ajax (т.е. получать "извне" скриптом , и динамически формировать вложение у себя)

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


 
KSergey ©   (2011-05-17 10:09) [26]

Может какие-то другие технологии все же поискать?
Вы кого именно из пользователей защищать пытаетесь (я про перехват)? гос. служащих, отвечающих на форуме? или обычных посетителей, пишущих на форум?
Для первых можно ввести ограничения на допустимый IP адрес, сделать отдельную аутентификацию на основании чего угодно (Active Directory, если Windows, или подобных технологий других систем).


 
makvell   (2011-05-17 13:35) [27]

А почему просто при вставке картинки, когда мы ее куда прописываем (в текст сообщения на форуме, например), уже в момент сохранения (сообщения с картинкой) не тянуть ее с сайта на сервер к себе (тут же можно и проверить ее и обрезать и еще чего только захочется) и сохранять уже у себя (можно как выше писали - со ссылкой откуда взял).
Хотя вариант с запросом сервера и подстановкой картинки в результирующую страницу (там выше уже предлагали) при ее формировании мне больше нравится. Тем более  вариант достаточно простой.


 
sniknik ©   (2011-05-17 15:21) [28]

> мне больше нравится.
а мне вообще не нравится... т.к. увеличит таймауты на формирование страницы на хрен знает сколько... это ведь не браузер который текст отобразит, и после весь "неважный" контент "дотягивает", это сервер, пака не закончит не отдаст...
тут надо бы (если так делать) немного по другому, формировать страницы как есть, только вставлять в них ссылки на себя но как нибудь их выделить (префикс/путь например), и просто обрабатывать их потом (когда браузер пере запросит) по особому, т.е. сервер должен понимать, что это "особая ссылка" и по ней брать контент либо с кеша либо с внешнего источника.

> Тем более  вариант достаточно простой.
но практически не рабочий.


 
makvell   (2011-05-17 18:02) [29]


> > мне больше нравится.
> а мне вообще не нравится... т.к. увеличит таймауты на формирование
> страницы...


Аякс спасет от томительных ожиданий ;)
Когда DOM готов - просим все такие картинки.


> > Тем более  вариант достаточно простой.
> но практически не рабочий.


Второй вариант не отменяет первый :)


 
makvell   (2011-05-17 18:06) [30]


> а мне вообще не нравится

А странные желания делать форум под https с возможностью вставки картинок со сторонних сайтов? :)


 
Дмитрий С ©   (2011-05-17 18:31) [31]


> Может какие-то другие технологии все же поискать?
> Вы кого именно из пользователей защищать пытаетесь (я про
> перехват)? гос. служащих, отвечающих на форуме?

Нельзя допустить угон кукисов именно госслужащих, чтобы злоумышленник не смог разместить на форуме официальное сообщение (есть там такая опция) + чтобы злоумышленник не смог зайти в закрытый раздел.
У нас в организации используется принцип - "один сотрудник - один пароль", поэтому придумывать разные пароли нельзя, и это сильно затрудняет авторизацию пользователя на сайте. Затрудняет потому, что пароли хранит ActiveDirectory, и проверить пароль пользователя можно только зная его (хеши не подойдут).
Немного несвязно может написал (час ночи всетаки), но смысл такой, что через соединение таки придется передавать пароль и номер сессии - и SSL единственное, что может его защитить. Поэтому как только пользователь входит на сайт, автоматически переходит на протокол https (если поступает не SSL запрос от пользователя - его сессия сразу удаляется от греха подальше).
Форум модерируется, но не всетаки не защищен от нежелательного контента на какой то период времени, это все понимают.
Теперь с картинками. Я хотел дать возможность пользователям вставлять картинки на сайт не загружая их на сервер. Т.е. сервер хранит только ссылки, а при показе уже JavaScript проверяет адекватность размеров картинки и прочее. Но как оказалось, браузер не дает показывать незащищенное содержимое на защищенной странице (а также озвученная здесь проблема Путин-голый Медведев - которая затрудняет модерирование).
На данный момент я вижу два/три решения:
1. Пользователь заранее должен загрузить изображение в свой раздел, откуда уже вставлять в сообщения.
2. Когда пользователь указывает ссылку на изображение в сообщении - сервер один раз автоматически скачивает это изображение и выдает.
3. Комбинация 1 и 2го. Перед отправкой JavaScript парсит сообщение на наличие в нем ссылок на изображения и передает их флешке, которая их скачивает на компьютер пользователю, обрабатывает если надо и закачивает в раздел пользователя, а в сообщение вставляет уже другую ссылку. Не факт, конечно, что браузер даст и это сделать.

Второй вариант проще для пользователей (хоть и не для всех), но возникают другие проблемы, такие как недоступность изображения для моего сервера или медленное соединение между серверами.

Плюс первому варианту дает еще тот факт, что Windows позволяет открывать ссылки в диалоговых окнах "Открыть", правда об этом вообще мало кто знает. А также то, что за действия отвечает сам пользователь, которого всегда можно найти в случае чего.

Вариант с прокси - сразу нет. Во-первых это постоянная нагрузка на сервер. Во-вторых это потенциально дает возможность делать запросы внутри сети (или демилитаризованной зоны). В-третьих интуиция подсказывает, что так не стоит делать.

По IP адресам тоже не хочется. 1. он меняется - создаст неудобств. 2. в локальной сети можно без труда присвоить любой адрес. Сервер должен сам обеспечивать себе безопасность внутри сети, не надеясь на политики и настройки сети.


 
Leon-Z ©   (2011-05-17 20:08) [32]

В jave"е есть такие объекты - называются "безопасный контейнер".
В принципе туда можно загружать что угодно и откуда угодно и
под любым соединением http или https.
-
Но ответственности контейнер не несет, т.е. он показывает содержимое,
а использовать его или нет - решает пользователь.
И в этих случаях браузеры не ругаются. Всё по правилам.


 
sniknik ©   (2011-05-17 20:48) [33]

> А странные желания делать форум под https с возможностью вставки картинок со сторонних сайтов? :)
возмущает! наберут ламеров по объявлениям... потом они всех мучают разной фигней.


 
sniknik ©   (2011-05-17 20:51) [34]

> Аякс спасет от томительных ожиданий ;)
не спасет при таком подходе... ведь сервер не сформирует главную страничку пока не дождется и не вставит весь сторонний контент (кто будет аякс запросы делать?). вот во втором, "моем" варианте можно.


 
sniknik ©   (2011-05-17 20:56) [35]

> его сессия сразу удаляется от греха подальше).
эээ... а не проще, "не доводить до греха" вообще? 80 порт закрыть и все. а то фигня какая то, допустить до создания сессии (в надежде на взлом?) а потом только ее удалить.

> В jave"е есть такие объекты - называются "безопасный контейнер".
в яве или яваскрипте? разные вещи все таки, а тут/в браузере возможен/обсуждается вариант с яваскриптом.


 
makvell   (2011-05-17 21:45) [36]


>>  Аякс спасет от томительных ожиданий ;)
> не спасет при таком подходе... ведь сервер не сформирует
> главную страничку пока не дождется и не вставит весь сторонний
> контент (кто будет аякс запросы делать?). вот во втором,
>  "моем" варианте можно.


Так я про твой (блин, мне как-то неудобно глядя на анкету "на ты", но "вы" все-таки не форумный оборот) вариант и говорил, но он не отменяет сохранения картинок к себе, один фиг так будет быстрее чем каждый раз за ними ходить.
Вариант прокси быстрее в реализации, но медленнее в работе, тут я ступил, согласен. А вот вариант с сохранением картинок к себе в момент сохранения сообщения (тут ведь на сервере это и отложить можно, чтобы пользователь не ждал) дольше в реализации, за то окупаются потраченные усилия.


 
KSergey ©   (2011-05-18 09:15) [37]

Все эти проблемы с картинками и их загрузкой давно решены в сотнях форумных движков. В том числе с открытым кодом.
Но на гос деньги - как обычно - изобретается очередной велосипед, причем как обычно с квадратными колесами.

> У нас в организации используется принцип - "один сотрудник - один пароль",
> Затрудняет потому, что пароли хранит ActiveDirectory,


У вас уже все сделано правильно, уже есть продуманное за вас решение по авторизации пользователей. Зачем делать что-то еще?? Используйте AD-авторизацию!


 
Дмитрий С ©   (2011-05-19 04:03) [38]


> Все эти проблемы с картинками и их загрузкой давно решены
> в сотнях форумных движков. В том числе с открытым кодом.
>
> Но на гос деньги - как обычно - изобретается очередной велосипед,
>  причем как обычно с квадратными колесами.

Такого движка как у нас нет ни у кого :) В том и прелесть работы, что можно изобретать велосипед за государственные деньги:) Да и пока не изобретешь велосипед с квадратными колесами - с круглыми тож не соберешь.


> У вас уже все сделано правильно, уже есть продуманное за
> вас решение по авторизации пользователей. Зачем делать что-
> то еще?? Используйте AD-авторизацию!

NTLM ? надо подумать


 
Anatoly Podgoretsky ©   (2011-05-19 09:14) [39]

> Дмитрий С  (19.05.2011 04:03:38)  [38]

kerberos


 
Kerk ©   (2011-05-19 10:56) [40]


> У нас в организации используется принцип - "один сотрудник
> - один пароль", поэтому придумывать разные пароли нельзя,
>  и это сильно затрудняет авторизацию пользователя на сайте.
>  Затрудняет потому, что пароли хранит ActiveDirectory, и
> проверить пароль пользователя можно только зная его (хеши
> не подойдут).
> Немного несвязно может написал (час ночи всетаки), но смысл
> такой, что через соединение таки придется передавать пароль
> и номер сессии

У меня IE автоматически залогинивается на сайты, поддерживающие ActiveDirectory, не спрашивая пароль, т.к. я уже в винде залогинен. Т.е. как-то это делать можно.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2011.09.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.59 MB
Время: 0.003 c
1-1264840225
tek
2010-01-30 11:30
2011.09.11
Как можно нарисовать progress bar в dbgrid е ?


2-1306067684
Drowsy
2011-05-22 16:34
2011.09.11
ODS.


2-1306258246
Станислав
2011-05-24 21:30
2011.09.11
Сбалансированное бинарное дерево


2-1306709691
R_R
2011-05-30 02:54
2011.09.11
Как посмотреть первое поле в dbgrid1 по индексу?


4-1250942387
VladimirVB
2009-08-22 15:59
2011.09.11
Ресурсы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский