URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 386
[ Назад ]

Исходное сообщение
"авторизация через web-форму в squid"

Отправлено ilya , 17-Янв-03 16:02 
    Здравствуйте!
Может кто пробовал авторизацию в squid через  web-форму производить?
Надо чтоб юзер заполнил определенную форму и только после этого
squid его пустил.

Содержание

Сообщения в этом обсуждении
"RE: авторизация через web-форму в squid"
Отправлено Chris , 17-Янв-03 21:14 
ты знаешь, не пробывал, но может можно через Perl путём команд на отдачу определённому IP прав на подключение... Спроси лучше можно ли динамически из таблицы выдавать каким ИП можно идти в инет, а каким нет и их TTL, а там уже всё можно будет сделать. Проще говоря можно ли создать список acl который бы читался каждый раз при запросе пользователя

"RE: авторизация через web-форму в squid"
Отправлено ilya , 20-Янв-03 08:38 
>ты знаешь, не пробывал, но может можно через Perl путём команд на
>отдачу определённому IP прав на подключение... Спроси лучше можно ли динамически
>из таблицы выдавать каким ИП можно идти в инет, а каким
>нет и их TTL, а там уже всё можно будет сделать.
>Проще говоря можно ли создать список acl который бы читался каждый
>раз при запросе пользователя
Мне нужна именно авторизация по имени и паролю, а не по IP. Дело не в динамическом конфигурационном файле, а в методе авторизации. Т. е. что делает броузер, когда спросил и получил логин/пароль? А может ли это сделать скрипт, обрабатывающий данные web-формы?


"RE: авторизация через web-форму в squid"
Отправлено andrew , 20-Янв-03 16:32 
Не знаю, подойдет ли тебе такой способ, но можно попробовать сделать так:
Создаем файл, в котором будет хранится список логинов/паролей пользователей(например passwd); в acl разрешаем пользователям интернет после того как они авторизуются(через обычную ncsa_auth). На машину со сквидом ставишь апач. Для того, чтобы юзер попал в инет, он должен зайти на специальную страничку и заполнить форму. Форма отправляется твоему скрипту, который
модифицирует файл passwd и перезапускает сквид. Все.
Кстати, страничку с формой можно вставить вместо страницы с ошибкой(access denied), которую сквид выдает неавторизовавшимся пользователям.

"RE: авторизация через web-форму в squid"
Отправлено ilya , 21-Янв-03 07:38 
>Не знаю, подойдет ли тебе такой способ, но можно попробовать сделать так:
>
>Создаем файл, в котором будет хранится список логинов/паролей пользователей(например passwd); в acl
>разрешаем пользователям интернет после того как они авторизуются(через обычную ncsa_auth). На
>машину со сквидом ставишь апач. Для того, чтобы юзер попал в
>инет, он должен зайти на специальную страничку и заполнить форму. Форма
>отправляется твоему скрипту, который
>модифицирует файл passwd и перезапускает сквид. Все.
Вариант неплохой но из passwd требуется потом удалять записи(так надо)
Вот бы формой(скриптом) прописАть бы броузеру нужную информацию(например, куку) и он по ней ходит. Но как это сделать?
>Кстати, страничку с формой можно вставить вместо страницы с ошибкой(access denied), которую
>сквид выдает неавторизовавшимся пользователям.
Хорошая мысль. С этим надо че-нить подумать.


"RE: авторизация через web-форму в squid"
Отправлено andrew , 21-Янв-03 11:24 
Думаю, что вариант с кукисом врядли подойдет, т к кукис отсылается броузером на ту страничку(скрипт), которая, собсно, этот кукис отложила :) и то, только если пользователь повторно на эту страничку вернулся.
Что-то я не понимаю твоей проблемы... Чем тебе не нравится авторизация
ncsa_auth? Если тебе надо удалять записи из файла passwd - опять же, скрипт напиши...
Можешь по-подробнее трабл описать? С примерами :)

"RE: авторизация через web-форму в squid"
Отправлено ilya , 21-Янв-03 13:11 
>Думаю, что вариант с кукисом врядли подойдет, т к кукис отсылается броузером
>на ту страничку(скрипт), которая, собсно, этот кукис отложила :) и то,
>только если пользователь повторно на эту страничку вернулся.
>Что-то я не понимаю твоей проблемы... Чем тебе не нравится авторизация
>ncsa_auth? Если тебе надо удалять записи из файла passwd - опять же,
>скрипт напиши...
>Можешь по-подробнее трабл описать? С примерами :)

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

Можно конечно, чтоб скрипт формы при первом запуске потомка сделал, который по определенным условаиям (таймеру например) в дальнейшем будет записи из passwd удалять. Идея нормальная, тока мож можно попроще...


"RE: авторизация через web-форму в squid"
Отправлено andrew , 21-Янв-03 14:41 
Мда... Странный народ - начальники...
ИМХО, по другому - никак :( Кстати, не обязательно, чтобы скрипт создавал потомка.
Я бы сделал так:
в файл passwd добавить еще одно поле - время создания учетной записи. После заполнения формы пользователю выдается одноразовый логин/пароль, действующий в течение, например, часа. По крону, каждые пять минут запускается скрипт, к-рый находит старые записи(созданные более часа назад), удаляет их и реконфигурит сквид.
Учетные записи, кстати, можно не удалять, а просто блокировать(ставить * перед логином или паролем)
Не так уж это и сложно.

"RE: авторизация через web-форму в squid"
Отправлено ilya , 21-Янв-03 15:28 
>Мда... Странный народ - начальники...
>ИМХО, по другому - никак :( Кстати, не обязательно, чтобы скрипт создавал
>потомка.
>Я бы сделал так:
>в файл passwd добавить еще одно поле - время создания учетной записи.
>После заполнения формы пользователю выдается одноразовый логин/пароль, действующий в течение, например,
>часа. По крону, каждые пять минут запускается скрипт, к-рый находит старые
>записи(созданные более часа назад), удаляет их и реконфигурит сквид.
>Учетные записи, кстати, можно не удалять, а просто блокировать(ставить * перед логином
>или паролем)
>Не так уж это и сложно.
Да, спасибо большое. Буду делать так.