в Goole Mail из YII

Есть учетная запись пользователя (user/password).

Совпадает с учетными данными в Google Mail.

Необходимо при нажатии ссылки отобразить фрейм с почтой этого пользователя (страница Google Mail).

Не авторизация на сайте через Google, а скорее наоборот…

Спасибо.

на сколько я знаю пароли в базе в явном виде не храняться.

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

да и покрасоте во фрейме толком гмайл не откроешь.

а бы копал в строну доступа к почте гугла по IMAP

насчет красоты - во фрейме будет так же, как и в окне

доступ по IMAP уже есть.

нужно именно фрейм, может кто подскажет?

Ну и добавочно:

в почте приходят вложения - как можно открыть их через Google Docs

Боюсь с фреймом будет облом.

Уже давольно давно браузеры поддерживают директиву X-Frame-Options SAMEORIGIN, которая запрещает открывать ресурс во фрейме. Гмайл её ессно использует(и не он один). Её поддерживает IE начиная с восьмого, остальные браузеры еще раньше её начали поддерживать.

хттп://docs.google.com/viewer

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

СПАСИБО!

просто огромное!

то что нужно, и куча форматов поддерживается и все просто и понятно, а то уже и не знал что делать - и просмотр документов нужен и если самому делать поддержку кучи форматов - то можно 50 лет все это делать :)

А по доступу - сделал так - юзер вошел - запомнился его ip, нажал кнопку “просмотреть документ” - сформировалась ссылка, доступна в течение часа и только с этого ip (передается в $_SERVER[‘HTTP_X_FORWARDED_FOR’]).

Правда здесь есть один момент. Если провайдер выделяет всем один адрес - то не наю что тогда делать (а такое бывает, сталкивался).

Может есть еще какие мысли по поводу секьюрности, подскажите, плиз :)

И еще раз огромное спасибо!

вы не до конца поняли

открывать доступ по ип нужно серверу гуглвивера, а не пользователю

мейнфреймы гугла качают и парсят док перед тем как показать пользователю

все я понял, поэтому и указал - $_SERVER[‘HTTP_X_FORWARDED_FOR’], а не REMOTE_ADDR.

В REMOTE_ADDR - ip-адрес сервера google, а в HTTP_X_FORWARDED_FOR - мой ip.

По крайней мере так на моем сервере.

Так вот насчет безопасности есть нюансы. Как обеспечить просмотр документа только одному пользователю, в том случае, если ip-адрес не уникален?

с глазами туго, я как раз и прочитал как REMOTE_ADDR :) сорри

насчет безопасности я бы делал чтото типа этого

  1. при клике на ссылку-атаче редиректимся на скрипт формирования ссылки типа:

http://some.server.net/files/02347598fhasdfhailuwh197458917254091843iwqjf98209384092348092.docx

  1. льем меппинг (путь на сервере <-> тмп ссылка) в базу. каждая ссылка имеет срок жизни (также можно убивать при логоффе)

  2. после отработки скрипта формирования тмп-ссылки идем редиректом на гуглвьювер с оной

поймать док (ссылку) могут только на шаге 3 к.н. снифером, но это можно решить переведя последовательность на https или поставив счетчик загрузок (при отдаче файла 1 раз меппинг убивается)

СПАСИБО!

Примерно так и сделал, единственное не сделал, но сделаю обязательно, как-то сразу мысль в голову не пришла:

Сделаю и то и то :)

Еще раз спасибо!