On Wed, 2 Jun 1999, Андрей Новиков wrote:
> > 4. Хранить _все_ в базе данных в виде полей long. Тут тебе и транзакции
> > и контроль прав какой-никакой. Триггеры опять же.
> Это приемлемо только для часто меняющегося контента или
> при наличии сложной выборки данных, иначе это просто
> бессмысленное потребление ресурсов.
Не факт, Если у тебя имеются SSI-ные html, куда переменная часть
вставляется вызовом <!--#perl sub то не так уж это и страшно.
>
> > 5. Web-интерфейс посылает письмо некоего специального вида требуемому
> > юзеру. Из .procmailrc оного юзера производится замена нужного файла на
> > содержимое тела письма.
> Ну уж нет. Веб-интерфейс хоть закрывается паролем, маской
> на ip, а письмо каждый дурак подделает.
Подделать письмо, которое проверяется на то, что оно исходит от
определенного _локального_ пользователя, причем, естесвенно, по envelope,
а не по From: не так-то просто.
> > 6. Web-интерфейс коннектится через сокет/named pipe к демону, который
> > форкается, делатет set_uid на данного юзера и работает.
> Для одного сервера это ничего, но у меня их десятки, а в
> будущем сотни. Это что-ж сотни демонов вешать? Можно
> конечно развить эту идею... Интересно...
Демон вешается один. При коннекте отфоркивает копию, которая проверяет
аутентификацию и делает setuid на нужного пользователя. А после внесения
изменений - завершается.
> > Что касается варианта 3, то идея заливать скрипт по ftp на сервер, на
> > который ты имеешь рутовый доступ (а человеку, не имеющему оного доступа
> > редактировать такой скрипт позволить нельзя) меня глубоко удивила. На
> > скрипт такого класса нужно после каждого изменения perl -wTc сказать как
> > минимум.
> Это почему же нельзя? Есть вебмастер, он занимается
> контентом. Почему бы ему не иметь некий комплекс,
> значительно облегчающий его работу? Плюс есть менеджеры,
> которые этим комплексом смогут пользоваться. Значит мы не
> можем их приравнять к вебмастеру.
При этом вебмастеру достаточно иметь права на редактирования
конфигурационного файла к скрипту и html-ей куда вносится правка. А сам
скрипт пусть редактирует только администратор сервера.
Я, например, в подобных случаях держу в конфиге список html в которые
нужно посмотреть на предмет наличия в них специального комментария и буде
он обнаружится, после него поменять циферку или предложение.
Что-то типа
<H1>Новости</H1>
<OL>
<!--BEGIN NEWS-->
<LI>Этот текст будет отредактирован при запуске скрипта
<!--END NEWS-->
</OL>
> Сервер у меня стоит в 30 километрах от меня, сидеть в
> телнете и через публичную сеть редактировать файл занятие не
> из приятных.
Ну, если ты сидишь в telnet а не ssh то про security можешь забыть.
А если сидишь в ssh, то сделать себе на десктопе кнопочку, которая будет
заливать скрипт, проверять его на синтаксис и в случае удачи копировать
на нужное место с нужными правами - несложно. Так сказать домашнее задание
на программирование на любом скриптовом языке под той операционкой, под
которой ты сидишь. Точнее, 90% может быть сделано на сервере и вызыватсья
посредством
ssh server update-script < localfile.pl
>
> > А еще его можно заливать по CVS и делать chmod из postcommit cкрипта.
> > Кстати, CVS это альтернатива Web-интерфейсу о которой стоит подумать.
> Смысл веб интерфейса не в кнопочке upload, а в сложном
> распределении введенных данных по куче документов.
> Простейший пример: есть раздел новостей. Девочка ничего не
> знающая кроме браузера вбивает новость. Разные части
> автоматом добавляются в анонсы, в календарь, в сами новости.
Вариант N 7 - все что введено через Web-интерфейс пишется в один файл
(дописываются в конец).
Раз в 5 минут по крону взлетает скрипт, проверяет, изменился ли этот
файл, и если да, выбирает изменения релевантные тому юзеру, от имени
которого он запустился и вносит их.
--------------------------------------------------
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 =