ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] =?koi8-r?B?4dfUz9LJ2sHDydEgUmU6?=



On Mon, 25 Jan 1999, Khimenko Victor wrote:

> По моему спор идет по принципу "в огороде бузина, а в Киеве дядька". По-моему
> исходно речь шла не об авторизации пользователя вообще ! Как я понял проблема
> (с которой я также столкнулся) проще всего пояснить на примере: пусть у нас
> есть, скажем, записная книжка (GuestBook) в базе данных, которая принадлежит
> какому-либо пользователю. Обращение к ней идет через PHP или через mod_perl --
> фиолетово. При этом пользователь, который делает записи в GuestBook'е вообще
> никаких паролей знать не должен ! Не нужно ему это ! Однако чего нам бы не
> хотелось, так это того, чтобы наши соседи по web-server'у могли после взгляда
> на исходники скрипта весь GuestBook испохадить напрямую, не проходя через
> соответствущий скрипт и не оставляя записей в log'ах Apache'а. Я не умею этого
> делать ни с использованием PHP, ни с использованием mod_perl'а без
> использования внешних программ, да и с ними добиться сколько нибудь приличной
> защиты сложно -- разве что при использовании suexec'а и запрете mod_perl'а и
> PHP, да и то не факт... Авторизация через SQL -- это хорошо (Да мало ли через
> что можно безопасно авторизоваться ? При использовании PHP можно и imap-сервер
> к делу приспособить, например :-), но речь-то шла не о том...

По-моему, идеальным языком для решения поставленной задачи является Tcl.
В нем есть развитая система Safe Interpreter'ов и можно реализовать это
так:

При запуске скрипта поднимается сначала trusted interpreter, который
проверяет владельца скрипта и подгружает модуль для коннекта к БД и
cgi-lib. Вместо команды oralogon или pg_connect он экспортирует в safe
interpreter свою процедуру, которая коннектится всегда под именем
владельца скрипта. Как они с базой при этом договорятся - вопрос
отдельный. Важно что пользователь доступа к этому коду не имеет. Кстати,
и файловые операции он имеет только те, которые trusted interpreter
экспортировал. То есть можно проверять что угодно, например owner id match

Это все можно прописать в виде скрипта, который будет в пользовательских
скриптах писаться в #!/ вместо реального интерпретатора (только надо
позаботиться о том, чтобы пользователю туда не дали tclsh написать.

Как это делать в случае mod_neowebscript - не знаю, но полагаю, что в
NeoSoft man n interp читали. 
>
> > 
> =============================================================================
> =               Apache-Talk@lists.lexa.ru mailing list                      =
> Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
> =       Archive avaliable at http://www.lexa.ru/apache-talk                 =
> 

--------------------------------------------------
Victor Wagner                   vitus@ice.ru
Programmer                      Office:7-(095)-964-0380
Institute for Commerce          Home: 7-(095)-135-46-61
Engineering                     http://www.ice.ru/~vitus

=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.