Deutsch

програма PHP

199  1 2 все
voxel3d коренной житель23.07.06 15:28
voxel3d
23.07.06 15:28 
в ответ Murr 23.07.06 14:35, Последний раз изменено 23.07.06 15:52 (voxel3d)
> Приходилось, разумеется. Проверка прав юзверя - составная часть активного кода каждой страницы. Но никогда не делал через htaccess.
Я не про авторизацию говорю, а про закрытие доступа на ресурсы: файлы и директории.
> Под виндой это проделывается не через htaccess....
"Под виндой" имеется в виду IIS? Мы про связку apache + php + mysql говорили.
> С точки зрения _программиста_, решающего прикладную задачу, вообще вредно знать...
Мурр, когда Вы напишете свой вебсервер и окружение к нему в котором будет безопасный мегавебязык работать, тогда и говорите. Реалии таковы, что приходится при работе в области веб знать некоторые вещи, специфичные для администрирования. Потому, что, функция mail() сама по себе не отошлёт почту, потому, что существуют такие вещи как Sql- инъекции, возможность влиять на кривые скрипты через параметры и прочее, потому, что функции фильтрующие ввод пользователя работают по-разному в зависимости от безопасного режима, потому что часто при аплоаде и обработке файла, надо иметь базовые знания о правах доступа в операционной системе, где сайт находится, потому, что возможность системных вызовов операционной системы, которые дёргаются из скрипта напрямую, зависят от того, включён или нет безопасный режим.
А когда появится необходимость в работающем и используемом проекте модифицировать БД, озаботитесь изучением того, как БД администрировать - делать дампы, бэкапы и прочее.
Про что спор, что вебпрограммист должен знать только язык программирования? Ну, давайте спросим toptop -a и validol -a, пусть скажут, нужны ли им знания в смежной области или нет.
Wanna be invited to http://dirty.ru. Don't pass by!
Dropbox - средство синхронизации и бэкапа файлов.
#21 
Murr коренной житель23.07.06 17:31
Murr
NEW 23.07.06 17:31 
в ответ voxel3d 23.07.06 15:28
а про закрытие доступа на ресурсы
-----
Так тоже самое - юзверь не имеет никакого доступа никуда, пока он не авторизован, после авторизации - куда можно. Куда и что ему можно - прописано централизовано в базе. Ползать по сайту и править .htaccess - нее, спасибки...
Мы про
------
Так ведь без разницы на какой связке сидеть...
когда Вы напишете свой вебсервер
------
А зачем? Зачем писать еще один парсер http-запросов? В принципе, после своего прокси - не сложно, но явно - не нужно...
надо иметь базовые знания о правах доступа
-----
Зачем? Чтобы что-то настроить в операционке? Это работа _не_ программиста, а админа. С точки зрения _программиста_ - файл аплоудится на ремотную систему и сохраняется, с пометкой кем он был загружен. Куда именно он должен быть загружен - это уже детали реализации - можно в отдельную папочку с правами, можно в базу, для особо извращенных - в виртуальную файловую систему, с, например, принудительной конвертацией всех *.doc в *.rtf, а все что не *.doc - виртуальная фс отправит в dev null не информируя об этом никого...
возможность системных вызовов операционной системы
------
Эээ... где-то там выше я специально указывал - _прикладная задача_. Ей незачем дергать напрямую системные вызовы. Если же требуется - значит кто-то сильно поленился при проектировании.
делать дампы, бэкапы и прочее
------
Если я озабочусь этим тогда, когда проект уже рабочий - значит проект умер не родившись. Но это я сказал с позиции системного архитектора, а не программиста - ему об этом думать не надо, если не стоит задача делать именно это.
что вебпрограммист должен знать только язык программирования?
------
Программеру нужно то, с помощью чего он решает задачу. Поскольку речь об ВЭБ - прикладную задачу. Что ему нужно?
1. Что-то, чем описать какой HTML будет отдан клиенту
2. Что-то, чем обработать полученную форму.
И все! Больше - ничего от вэб-программиста не требуется. Даже SQL - _не_ обязателен - можно писать в простые файлы или вообще не знать куда и как оно пишется.
давайте спросим toptop -a и validol -a, пусть скажут, нужны ли им знания в смежной области или нет.
------
Только спрашивать надо правильно. По типу: насколько, при написании, например, SELECT'а, полезно для БД-программера знание того, сервис MS SQL запущен и работает от имени конкретного пользователя?
Что до меня, то меня гораздо больше волнует, например то, что полгода назад меня, в связи с нехваткой времени, вынудили включить в бизнес-объект код, который строит и выполняет SQL-запрос. Говорил - не надо этого делать. Давайте потратим полдня, напишем нормальную серверную процедуру (точнее - шаблон для нее) и будем ее дергать, как и предписано архитектурой. В результате - за полгода уже раза три спотыкался именно об это место и потратил более недели на то, чтобы каждый раз обходить имеющуюся проблему... А ты говоришь - знания в системной или смежной области... Дай бог помнить, что и как должно работать в задаче!
#22 
  scorpi_ скептик23.07.06 18:02
NEW 23.07.06 18:02 
в ответ Murr 23.07.06 17:31
Редкий случай, когда я с тобой практически во всём согласен. Действительно, нефиг смешивать задачи админа и программиста.
#23 
Murr коренной житель23.07.06 18:13
Murr
NEW 23.07.06 18:13 
в ответ scorpi_ 23.07.06 18:02
Я так думаю, что Воксель просто в отпуске, расслабился... Выйдет на работу - будет делать как надо-ть...
#24 
voxel3d коренной житель24.07.06 10:56
voxel3d
NEW 24.07.06 10:56 
в ответ Murr 23.07.06 17:31
> Так тоже самое - юзверь не имеет никакого доступа никуда, пока он не авторизован, после авторизации - куда можно. Куда и что ему можно - прописано централизовано в базе. Ползать по сайту и править .htaccess - нее, спасибки...
Как Вы "составной частью кода каждой страницы" закроете доступ на .xyz файл, который не является скриптом? По сайту ползать, править .htaccess не надо, надо прописать один .htaccess, он рекурсивно для поддиректорий действует.
> Эээ... где-то там выше я специально указывал - _прикладная задача_. Ей незачем дергать напрямую системные вызовы.
Замечательно, можно было сразу сказать: - Я, Мурр, работаю в своей конторе и за пределы своего мирка не вылезаю, поэтому то, с чем я не работаю, на самом деле не существует.
У меня бывает необходимость запускать sh скрипты из perl и php скриптов. Потому что, так было спроектированно и запущенно лет пятнадцать назад. И переписывать весь комплекс софта для металлургического комбината, мне не улыбается.
> Если я озабочусь этим тогда, когда проект уже рабочий - значит проект умер не родившись.
Видите ли, моя контора занимается в том числе переделкой существующего софта, поэтому я не могу встать в позу и сказать шефу, что занимаюсь только сферическими конями в вакууме. Бывают проекты, где требуется реструктурировать базу данных, но, вот, отдельного специалиста для администрирования базы не нанимают почему-то.
> И все! Больше - ничего от вэб-программиста не требуется.
В Perl и PHP на уровне языка пытаются решить проблему безопасности на совместно используемых серверах. Архитекторы платформы смешали функциональность администратора и программиста, а не я в сво╦м воображении.
В принципе, мне больше нечего сказать, если Вы считаете, что вебпрограммирование это, вот, эти два пункта:
>1. Что-то, чем описать какой HTML будет отдан клиенту
>2. Что-то, чем обработать полученную форму.
то, пожалуйста. Возможно, Вы обойд╦те все подводные камни и у Вас было / есть / будет вс╦ в порядке в Ваших программах, остальные, кто считает, что, как минимум, проблема безопасности не дело программиста, welcome in da club, рассказывать потом о том, что чмоды не расставили правильно.
Dropbox - средство синхронизации и бэкапа файлов.
#25 
  scorpi_ скептик24.07.06 11:10
NEW 24.07.06 11:10 
в ответ voxel3d 24.07.06 10:56
У меня бывает необходимость запускать sh скрипты из perl и php скриптов. Потому что, так было спроектированно и запущенно лет пятнадцать назад. И переписывать весь комплекс софта для металлургического комбината, мне не улыбается.
Это уже не веб-программирование.
#26 
Murr коренной житель24.07.06 12:14
Murr
NEW 24.07.06 12:14 
в ответ voxel3d 24.07.06 10:56
Как Вы "составной частью кода каждой страницы" закроете доступ на .xyz файл, который не является скриптом?
------
Его там просто нету. Папочка на сессию и туда шорткатик... Где физически лежит файло юзер не знает, да и прямого доступа у него никогда не будет.
И переписывать весь комплекс софта для металлургического комбината, мне не улыбается
------
Меня переписывание мало волнует - генерю... прямо сейчас, в бэкграунде. Буде весь комплекс уложен в базу - аналогично сгенерю код...
Бывают проекты, где требуется реструктурировать базу данных, но, вот, отдельного специалиста для администрирования базы не нанимают почему-то.
------
Это не меняет ситуации. Ты просто делаешь работу _нескольких_ специалистов. Я тоже делаю, но я различаю что именно должен делать соответствующий специалист.
#27 
1 2 все