Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запросить авторизацию при доступе на сайт извне / 5 сообщений из 5, страница 1 из 1
22.11.2014, 10:34
    #38813926
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросить авторизацию при доступе на сайт извне
Есть сайт в интранете, на котором пользователи вводят данные.
Авторизации со стороны пользователей нет — автор определяется по IP и MAC адресу. Вернее, в БД сайта есть пользователи, а user_id вычисляется в процедуре, которая делает запрос к другой информационной системе с MAC и IP посетителя, и записывается в БД и логи.
Теперь появилась необходимость сделать доступ к сайту из интернета.
Внутри ничего менять не нужно, но при обращении к сайту снаружи должна запрашиваться авторизация (логин/пароль), которая будет действовать в течении сессии (до закрытия страницы) и user_id определяется по итогам этой авторизации.
Посоветуйте, как это лучше сделать?

Сам сайт на Apache2+PHP (самодельный скрипт).
Рассматриваю варианты:
1. Сделать веб-сервер с сайтом доступным снаружи. Но тогда нужно будет довольно значительно переделывать скрипт, по крайней мере точку входа.
2. Прикрутить какой-нибудь модуль. Но в голову ничего не приходит, mod_rewrite тут явно не поможет.
3. Оставить все как есть, а для доступа извне поставить сервер с nginx, который и будет осуществлять авторизацию и проксировать остальные соединения.
4. Заменить Apache2 на nginx — вроде бы nginx достаточно гибок в конфигурации и для многих случаев программирование можно заменить на конфигурирование. Но я с nginx знаком мало.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
22.11.2014, 12:55
    #38813993
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросить авторизацию при доступе на сайт извне
Если юзер_айди используется в работе сайта (например, сохраняется информация о пользователе, который правил данные), то авторизация на прокси или на вебсервере тут вряд ли поможет.

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

Касаемо переделки скрипта по 1 варианту... Можно попробовать так: при помощи mod_rewrite все запросы отправляются на некий скрипт, который проводит авторизациию и идентификацию пользователя, а затем инклюдит вызываемый скрипт. Вероятно, в основе его будет тот самый скрипт, который сейчас "делает запрос к другой информационной системе с MAC и IP посетителя". А вообще, тут надо начать с безопасности и обеспечения конфиденциальности данных, если это требуется.
...
Рейтинг: 0 / 0
22.11.2014, 13:31
    #38814004
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросить авторизацию при доступе на сайт извне
vkleЕсли юзер_айди используется в работе сайта (например, сохраняется информация о пользователе, который правил данные), то авторизация на прокси или на вебсервере тут вряд ли поможет.
Пользователи одни и те же.
Просто если они работают в интрасети, то они определяются по IP и MAC адресу автоматически (запросом к другой информационной системе, логины в обоих системах совпадают).
А если они подключаются извне, то опознать их автоматически нельзя и они должны авторизоваться самостоятельно.

Другими словами.
Есть пользователь ivanov.
На рабочем месте он авторизуется при входе в ОС Windows, вводя логин и пароль.
И эта авторизация используется в других системах (где используется сквозная авторизация в AD, где самодельными скриптами, как в моем случае), повторно логин-пароль он нигде не вводит.
Но если он подключается извне, то авторизацию в ОС он не прошел и ее нужно запросить.
...
Рейтинг: 0 / 0
22.11.2014, 13:57
    #38814020
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросить авторизацию при доступе на сайт извне
Alibek B., ну так и есть, вполне логично :-)
...
Рейтинг: 0 / 0
24.11.2014, 10:17
    #38814819
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запросить авторизацию при доступе на сайт извне
Э... Это был вопрос.
Про вариант 3 я понимаю, что можно отделить «свой-чужой».
Но в этом варианте я не представляю, как nginx подсунул в Apache данные пользователя, а не свои. Опознание по IP и MAC явно не подойдет — даже если nginx умеет подменять эти данные, то проку от этого нет, во внешней информационной системе регистрация пользователя не прошла и там привязки IP/MAC к пользователю нет.
То есть мне нужно будет доработать процедуру распознавания посетителя, чтобы она также умела брать данные с nginx. А как наладить такой обмен, я пока не представляю.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Запросить авторизацию при доступе на сайт извне / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]