MVC(PHP), ктонить пробовал написать? |
Здравствуйте, гость ( Вход | Регистрация )
Youtube | Vkontakte | KubaLibre | Shareman | Down-House |
MVC(PHP), ктонить пробовал написать? |
informix |
27.10.2006, 0:48
Сообщение
#1
|
Домовёнок Группа: Пользователи Сообщений: 48 Регистрация: 24.10.2006 Репутация: 0 |
сейчас занимаюсь разботкой собственной MVC и пришлось посмотреть различные варианты. Разобрал по полочкам косячную SYMFONY и с гемором заталкал на сервачек. Потом раздраконил CAKE. Пришел к выводу чтобы удобно было управлять все структурой приложения нужно делать билдер но вот не задача как хранить структуру и обновлять ее?
-------------------- 02mail.ru - моя домашняя страничка
|
informix |
27.10.2006, 1:00
Сообщение
#2
|
Домовёнок Группа: Пользователи Сообщений: 48 Регистрация: 24.10.2006 Репутация: 0 |
также заметил тенденцию последние время модно стало делать проекты с управлением через консоль пример тому pear, symphony,propel. думаю стоит ли заморачиваться?
-------------------- 02mail.ru - моя домашняя страничка
|
BAD |
17.11.2006, 20:45
Сообщение
#3
|
Опытный Домовой Группа: Домовые Сообщений: 211 Регистрация: 17.11.2006 Пол: Мужской Репутация: 0 |
Хочу научиться программировать на этом языке, но не знаю с чего начать, подскажите?
-------------------- |
D3X |
5.1.2007, 12:22
Сообщение
#4
|
Опытный Домовой Группа: Домовые Сообщений: 196 Регистрация: 2.1.2007 Живет: h07.ru Пол: Мужской Репутация: 0 |
Хочу научиться программировать на этом языке, но не знаю с чего начать, подскажите? купи книжку -------------------- Хостинг
-месяц хостинга в подарок- регистрация доменов: -домены RU за 220р.- -домены SU за 500р.- |
Олигарх.Ru |
22.2.2007, 18:05
Сообщение
#5
|
=\\***КОТ***//= Группа: Домовые Сообщений: 1 513 Регистрация: 31.10.2006 Живет: Там где то там. Пол: Мужской Репутация: 24 |
Хочу научиться программировать на этом языке, но не знаю с чего начать, подскажите? сложный язык но книги стоит почитать и научится динамичные сайты хорошо создавать на нем -------------------- |
sergei |
25.2.2007, 0:46
Сообщение
#6
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Если знаком с другими языками (желательно С подобными), то документации для начала будет достаточно.
|
Sanjok |
25.2.2007, 10:30
Сообщение
#7
|
Домовой Группа: Домовые Сообщений: 132 Регистрация: 24.12.2006 Пол: Мужской Репутация: 0 |
тут вопрос не про php, а про mvc на php..
инфы в инете полно кстати) даже на русском=) |
@zon |
9.3.2007, 14:41
Сообщение
#8
|
Кто Я?! Группа: Домовые Сообщений: 21 Регистрация: 17.2.2007 Пол: Мужской Репутация: 0 |
сложный язык но книги стоит почитать и научится динамичные сайты хорошо создавать на нем Реально ли выучить PHP и уметь работать на нем как специалист по книгам? Или же стоит сходить на какие-либо курсы? -------------------- Ничто не вечно!
|
D3X |
9.3.2007, 18:25
Сообщение
#9
|
Опытный Домовой Группа: Домовые Сообщений: 196 Регистрация: 2.1.2007 Живет: h07.ru Пол: Мужской Репутация: 0 |
Реально ли выучить PHP и уметь работать на нем как специалист по книгам? Или же стоит сходить на какие-либо курсы? стоит прочитать одну-две толковые книжки, а потом практика, практика, практика. Главное не забросить на начальной стадии изучения -------------------- Хостинг
-месяц хостинга в подарок- регистрация доменов: -домены RU за 220р.- -домены SU за 500р.- |
Борис Казимиров |
26.4.2007, 0:13
Сообщение
#10
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Хочу научиться программировать на этом языке, но не знаю с чего начать, подскажите? Если немного конкретнее, то могу посоветовать пару книг: 1. Разработка Web-приложений с помощью PHP и MySQL. Люк Веллинг 2. PHP 5. Максим Кузнецов Плюс этих книг в том, что к ним уже прилагаются диски с кой-какими готовыми скриптами — разбираться новичкам будет легче. К тому же они сразу ориентированы на связку PHP+MySQL. Не придется отдельно изучать еще и книги по базам данных, а потом состыковывать знания, полученные из разных источников. Хотя я от темы отступаю… Здесь именно о принципах MVC не говориться. P.S. Кстати, в чем конкретно эти принципы MVC? Почему просто на PHP не программировать? Я как-то раньше никогда не интересовался… P.P.S. Среди участников форума есть профессиональные PHP-программисты? Ну, так, опытом обменяться… -------------------- |
st.Leo |
26.4.2007, 20:43
Сообщение
#11
|
Мастер Домовой Группа: Домовые Сообщений: 501 Регистрация: 31.1.2007 Пол: Мужской Репутация: 0 |
а может кто поделится файликом Mscvrt.dll от PHP.5.1.6 (если версия важна конечно)
|
sergei |
28.4.2007, 23:08
Сообщение
#12
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
st.Leo может ты имел ввиду msvcrt.dll? Странно что у тебя его нет. Файл в аттаче.
Цитата Кстати, в чем конкретно эти принципы MVC? Почему просто на PHP не программировать? Я как-то раньше никогда не интересовался… Разделение шаблонов, кода и данных. Это бывает полезно, когда над проектом работают сразу несколько человек в лице дизайнеров, верстальщикв и программистов. Для программистов - плюс в хорошем проектировании системы, что сказывается на скорости и удобности разработки и сопровождении проектов. Для верстальщиков - меньше возьни со специфическими конструкциями в шаблонах типа вставок вставок php кода. Освещение проблем есть у Котерова, но решения которые он предлагает мне показались слишком дубовыми. Каждый ищет свой компромисс. Цитата Среди участников форума есть профессиональные PHP-программисты? Ну, так, опытом обменяться… Профессионально работаю около двух лет. Непрофессионально - не помню .Прикрепленные файлы msvcrt.zip ( 175.16 килобайт ) Кол-во скачиваний: 186 |
st.Leo |
29.4.2007, 0:05
Сообщение
#13
|
Мастер Домовой Группа: Домовые Сообщений: 501 Регистрация: 31.1.2007 Пол: Мужской Репутация: 0 |
ок спасибс
|
Борис Казимиров |
3.5.2007, 19:40
Сообщение
#14
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
В последнее время искал информацию о безопасности php-приложений. Вроде бы тема важная, а конкретики написано мало. В основном все советы сводятся к чему-то вроде: «Никогда не доверяйте данным, поступившим от пользователя». Так оно и понятно, мы и не доверяем.
В php-приложение взломщик может внедрить Perl-скрипты. Вот пример обработки данных из формы, для удаления из них возможного вредоносного кода: Код <?php $text = htmlspecialchars(stripslashes($_POST['text'])); ?> С функцией htmlspecialchars() все понятно. А вот stripslashes() применяется для исключения внедрения Perl-скриптов — удаляет обратные слэши. Только что будет, если взломщик специально введет «\\»? Это преобразуется в «\», т.е. обратные слэши останутся и значит внедрить Perl-скрипт все так можно? Да еще и путаница с режимом «магических кавычек». Сейчас он обычно включен. Поэтому применяя stripslashes() мы просто отменяем литерализацию символов, которая уже была произведена автоматически при передаче данных из формы? sergei, этот подход будет надежным и достаточным? Можно ли вывести какой-нибудь простой универсальный способ фильтрации данных от пользователя? Профессионально работаю около двух лет. Непрофессионально - не помню Просто интересно. Сейчас большинство проф. php-программистов имеют соответствующий университетский диплом или у нас в России пока все еще «по книжкам» можно выучиться? -------------------- |
clayser |
4.5.2007, 13:00
Сообщение
#15
|
Мастер Домовой Группа: Домовые Сообщений: 745 Регистрация: 5.10.2006 Живет: Моя Светлая Русь Пол: Мужской Репутация: 0 |
Цитата В последнее время искал информацию о безопасности php-приложений. Вроде бы тема важная, а конкретики написано мало. Хм, а что есть безопасность? По сути вообще надо понимать смысл слова - безопасность. Для меня это означает чтобы при любом поведении клиента скрипт всегда себя вел по сценарию разработчика. Цитата В php-приложение взломщик может внедрить Perl-скрипты Пусть внедряет. Есть ты не собрался сохранить принятый текст как .pl файл и дать на него права 755 то какая разница какой текст пришел? Скрипт (особенно перловский) сам по себе не выполнится если ты ему этого не позволишь. Цитата С функцией htmlspecialchars() все понятно. А вот stripslashes() применяется для исключения внедрения Perl-скриптов — удаляет обратные слэши. Только что будет, если взломщик специально введет «\\»? Это преобразуется в «\», т.е. обратные слэши останутся и значит внедрить Perl-скрипт все так можно? Вообще полная глупость, серьзно. stripslashes применяется для возвращения в исходный вид текста, который был преобразован с помощью addslashes (что происходит с POST, GET, COOKIE когда включен соответствующий режим). И делается не просто так, а чтоб проще было заносить данные в БД. Потому безопасность тут вообще не причем. Если клиент прислал \\, то текст будет иметь вид \\\\ который с помощью stripslashes будет снова иметь вид \\ Цитата Да еще и путаница с режимом «магических кавычек». Сейчас он обычно включен. Поэтому применяя stripslashes() мы просто отменяем литерализацию символов, которая уже была произведена автоматически при передаче данных из формы? Обычно, да не всегда. Совсем недавно нарвался на хост, где он был выключен. Хорошо что вовремя заметил. Цитата Можно ли вывести какой-нибудь простой универсальный способ фильтрации данных от пользователя? Зависит от того, что будешь с принятыми данными делать. Цитата Просто интересно. Сейчас большинство проф. php-программистов имеют соответствующий университетский диплом или у нас в России пока все еще «по книжкам» можно выучиться? Фигня все это ) Можно читая доки и разборы кодов, решения сложных задач овладеть всем, что надо. Главное понимать суть - вот если с этим проблемы никакой диплом не поможет. Я уже более 5 лет программлю на php и perl + играюсь с js -------------------- 1.28. Использование в подписи, названии тем а также в теле сообщений текста, который оскверняет честь и достоинство Компании.
//Friday13 |
Борис Казимиров |
4.5.2007, 18:31
Сообщение
#16
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Цитата Хм, а что есть безопасность? Согласен, очень емкое понятие. Для начала давайте понимать ее как проверку данных поступивших от пользователя через форму. Для простоты. Цитата Вообще полная глупость, серьзно. stripslashes применяется для возвращения в исходный вид текста, который был преобразован с помощью addslashes Вот и меня с толку сбило. Я ведь прочитал это не в «интернетовской» статейке (которые пишут все кому не лень), а в серьезной толстой бумажной книге. Как я прочитал, так прям на уши встал: «О, Боже! Все это время мои скрипты не были защищены от Perl-атак!» Цитата Зависит от того, что будешь с принятыми данными делать. ПЕРВЫЙ ПРИМЕР. Я получаю текст из тега <textarea> и заношу его в базу данных. ВТОРОЙ ПРИМЕР. Получаю id статьи методом GET, на его основе составляю запрос SELECT и вывожу соответствующую статью. -------------------- |
clayser |
4.5.2007, 19:39
Сообщение
#17
|
Мастер Домовой Группа: Домовые Сообщений: 745 Регистрация: 5.10.2006 Живет: Моя Светлая Русь Пол: Мужской Репутация: 0 |
ПЕРВЫЙ ПРИМЕР. Я получаю текст из тега <textarea> и заношу его в базу данных. ВТОРОЙ ПРИМЕР. Получаю id статьи методом GET, на его основе составляю запрос SELECT и вывожу соответствующую статью. Насчет пунтка 2 главное делай как select * from `` where `id` = '$id' и не делай как select * from `` where `id` = $id а то рисуешь дать посетителю возможность удлиннить запрос или даже выполнить свой запрос. Еще можешь сделать $id = (int) $id но это не так важно в данной ситуации. Конечно я умалчиваю о таких мелочах как вырезка html-тегов из статьи и проверка на длину слова - это уже не безопасность, а наличие здравого смысла. --- А насчет статеек - прежде чем слушать и принимать какие-то меры по борьбе с "взломом" попробуй понять как собственно этот взлом возможно осуществить? -------------------- 1.28. Использование в подписи, названии тем а также в теле сообщений текста, который оскверняет честь и достоинство Компании.
//Friday13 |
sergei |
5.5.2007, 8:25
Сообщение
#18
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Текст, который заносится в базу обязательно надо экранировать! У каждой БД свои функции, например для mysql все строки пропускают через mysql_real_escape_string.
Что касается magick_quotes, то от него надо избавляться. Тогда и со stripslashes никаких затыков не будет. Тем более в PHP5 эту опцию не рекомендуют включать, а в PHP6 её вобще не будет. В остальном - согласен с clayser. |
Борис Казимиров |
5.5.2007, 18:55
Сообщение
#19
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
То есть (я так понял) единого мнения среди программистов нет.
ПЕРВАЯ ТОЧКА ЗРЕНИЯ. Магические кавычки сейчас (почти) везде включены — всё само экранируется. ВТОРАЯ ТОЧКА ЗРЕНИЯ. Режим магических кавычек нужно отключить. А экранировать символы специфичной для данной БД функцией. Мне второе мнение более интересным кажется. Только вот большинство не его почему то придерживается. Цитата Тем более в PHP5 эту опцию не рекомендуют включать, а в PHP6 её вобще не будет. Вроде бы (или меня память подводит) в PHP4 маг. кавычки были ПО УМОЛЧАНИЮ отключены. А в PHP5 по умолчанию включены. Мне казалось, что создатели PHP наоборот рекомендуют их включать? Честно говоря, удивился когда узнал, что в PHP6 маг. кавычек не будет. P.S. А все таки: если маг. кавычки отключить и пропускать данные через mysql_real_escape_string перед записью в базу, то после извлечения из базы их обратно нужно будет расэкранировать? -------------------- |
Борис Казимиров |
5.5.2007, 20:21
Сообщение
#20
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Все. Я разобрался.
Код можно написать вот так. Тогда все отлично работает. Код <?php // Функция экранирования переменных function quote_smart($value) { // если magic_quotes_gpc включена - используем stripslashes if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // Если переменная - число, то экранировать её не нужно // если нет - то окружем её кавычками, и экранируем if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } // Соединяемся $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') OR die(mysql_error()); // Составляем безопасный запрос $query = sprintf("SELECT * FROM users WHERE user=%s AND password=%s", quote_smart($_POST['username']), quote_smart($_POST['password'])); mysql_query($query); ?> -------------------- |
Текстовая версия | Сейчас: 27.4.2024, 20:34 |