[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: зачем фреймворк
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
DedMorozzz
Цитата (chee @ 9.06.2014 - 15:17)
DedMorozzz открытый доступ к файловый системе, можно же шел залить

я ж не те вопрос задавал smile.gif
Цитата (twin @ 9.06.2014 - 15:21)

Как будто с фреймворкам этого нельзя сделать... Как раз там то можно такого понавоять, не зная элементарных основ, доверившись всемогущему дяде. Я встречал типов, которые с легкостью оперируют фразами "паттерн MVC", "ORM" и прочая, но пишут в акшенах такое...

Ошибки везде можно сделать, проблема в том, что используя фреймворк, ты так или иначе хоть какую-то структуру да будешь использовать.
И когда пишешь всё в 1м файле и не пашет, начнёшь гуглить, а чего так и уже хоть что-то да осознаешь

Более того, бывают ещё более худшие проблемы с фреймворками, когда не знающие их пишут свои проекты. В итоге и у самих ничего не получается и другие вообще не могут понять что там реализовано. Ибо ожидаемо одно, а на практике другое.

Но это в ту же степь, что и "Буду ходить пешком, на авто можно разбиться"

Пример из практики - тип на форуме долго искал кого-нить, кто на CakePhp сделает пару моментов. Доработать сайт надо было. Я взялся. Просмотрел, что там и как и отказался
К прмиеру админка была перетянута из какой-то ЦМСки с кое-как переделаным кодом.
В итоге всё работало паршиво, точнее работало там не всё, а новый функционал, который надо было добавить - я вообще не знаю как это бы тот "разработчик" делал бы.
В таких случаях да - лучше ему ходить пешком. Может даже до цели добрался бы

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
killer8080
Цитата (МайНеймИзДолли @ 9.06.2014 - 16:02)
если у человека будут проблемы - он будет искать ошибку и научиться на ней. ибо когда сайт ломают первое приходит на ум почитать статьи про безопасность.

эта дырка может оставаться незамеченной годами, и копипастится из проекта в проект. Конкретно этот пример был из админки. Автор таким образом сохранял конфиг файлы. Конфиги в виде json-а генерились на клиенте, а бэкэнд их тупо сохранял в файл.
В популярном движке исходники анализируют тысячи разных людей, при обнаружении пишут багрепорт, и дырку закроют. В самописе их искать некому, кроме автора, и шансов что она проскочит больше.
Хотя с другой стороны палка о двух концах, если дыру находят кулхацкеры, то могут проводить массовые взломы. Ломать же самописы можно только в слепую, это гораздо менее эффективно, но угроза от этого никуда не девается.
killer8080
Цитата (Медведь @ 9.06.2014 - 16:23)
Это как так?
Если переменный чётко определены, то можно залить шел?

там пользовательские переменные, прилететь может что угодно.

Я хозяину сайта в качестве демо залил шелл, парадокс в том что его это даже не смутило ohmy.gif
Он по прежнему считает, что нанимал крутого программиста laugh.gif
DedMorozzz
Цитата (Медведь @ 9.06.2014 - 15:41)
Подскажите про file_put_contents
Есть две переменные - путь файла и его содержимое
Эти переменные определенны в скрипте, можно шел залить? Или это про содержимое переданное пользователем?

Ну смотри, у первые 2 переменые выше указал

В 1ю я условно заливаю файл "/var/www/my_project/text.php"
Во 2й переменной <?php echo 111; ?>
Терь обращаюсь по адрессу www.my_project/text.php. Угадай что произойдёт?

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
twin
Цитата (Медведь @ 9.06.2014 - 12:53)
А как пользователь может передать путь, куда заливать файл, если эта переменная заранее определена?

Нужно попросить хостера включить register_globals smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Миша
Цитата (twin @ 9.06.2014 - 16:56)
Цитата (Медведь @ 9.06.2014 - 12:53)
А как пользователь может передать путь, куда заливать файл, если эта переменная заранее определена?

Нужно попросить хостера включить register_globals :)

И что, тогда энный человек может перебить мою запись при включенном register_globals

$put_zapis = "file.php";
$content = "содержимое";
file_put_contents($put_zapis , $content);


_____________
Принимаю заказы, писать в ЛС
glock18
Медведь
Вы код-то хоть, о котором говорите, удосужились посмотреть?
Миша
Сорри.

_____________
Принимаю заказы, писать в ЛС
paul85
Цитата (glock18 @ 9.06.2014 - 13:39)
"в этой хрени даже запрос средний не напишешь" и блабла. Речь, очевидно, о какой-то конкретной ORM

glock18, очевидно да. А еще очевидно, что если не пользоваться query builder-ом, а обходить всю эту богодельню и работать с БД классическим способом, то потеряется фишка быстрой миграции на другие СуБД. Чем так гордятся сторонники фреймворков. И утверждают, что из-за одного этого уже можно использовать чужие наработки.

Итак, одно не использую вовсе. Другое не использую вовсе (какие-нибудь безумные форм-билдеры). А что тогда использую и зачем? Где они эти чудесные фишки, где бочка меда? Вот ложка дегтя есть и ее начинаешь ощущать сразу же как только пытаешься изучить фреймворк.
Цитата (twin @ 9.06.2014 - 14:52)
переходим на Джумлу! Там вообще нифига программировать не надо.

twin, как раз сейчас занимаюсь изучением разработки компонентов под Joomla!. Ну не знаю, там такая дичайшая абстракция, что любой CodeIgnitor покажется счастьем. Порог вхождения огромный, если осознанно подходить к вопросу. Тем более примеров нет, не представляю как туда могут пробраться профаны. С трудом нашел книгу, причем на английском. И всё, набрал оттуда текст, запустил - не работает. И хоть слезами плачь, но если сам ничего не понимаешь, то найти в чем косяк - НЕРЕАЛЬНО! Потому, что ошибка ссылается не на твой файл, нет... Ругается на джумловские библиотеки. А косяк у тебя... О как...
twin
paul85
Цитата
как раз сейчас занимаюсь изучением разработки компонентов под Joomla
Ну не путай божий дар с яичницей))) Разработка компонентов не есть прямое использование. Я же говорю о прогрессе. smile.gif
Зачем ломать голову, изобретать велосипеды, какие то дурацкие хэлперы, модели, акшены-продакшены... Открываем панель управления и вуаля. Пусть дяди за нас думают, нам это непристало. Мы же ошибок наделать можем. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Michael
Цитата (paul85 @ 9.06.2014 - 17:04)
как раз сейчас занимаюсь изучением разработки компонентов под Joomla!. Ну не знаю, там такая дичайшая абстракция, что любой CodeIgnitor покажется счастьем. Порог вхождения огромный, если осознанно подходить к вопросу. Тем более примеров нет, не представляю как туда могут пробраться профаны. С трудом нашел книгу, причем на английском. И всё, набрал оттуда текст, запустил - не работает. И хоть слезами плачь, но если сам ничего не понимаешь, то найти в чем косяк - НЕРЕАЛЬНО! Потому, что ошибка ссылается не на твой файл, нет... Ругается на джумловские библиотеки. А косяк у тебя... О как...

c Drupal все то же самое. biggrin.gif Повсюду трехразмерные массивы угадай какого формата и т.д.

_____________
There never was a struggle in the soul of a good man that was not hard
glock18
Цитата (paul85 @ 9.06.2014 - 15:04)
glock18, очевидно да. А еще очевидно, что если не пользоваться query builder-ом, а обходить всю эту богодельню и работать с БД классическим способом, то потеряется фишка быстрой миграции на другие СуБД. Чем так гордятся сторонники фреймворков. И утверждают, что из-за одного этого уже можно использовать чужие наработки.


Понятия не имею, кто такое утверждает. Фишка быстрой миграции дак и вообще... Едва ли прям основным аргументом будет. Хороший уровень абстракции - это хорошо, но "главной фишкой" это никак не может быть. Это уже PDO предлагает изначально, и придумывать особо ничего не надо.

Цитата (paul85 @ 9.06.2014 - 15:04)
Итак, одно не использую вовсе. Другое не использую вовсе (какие-нибудь безумные форм-билдеры). А что тогда использую и зачем? Где они эти чудесные фишки, где бочка меда? Вот ложка дегтя есть и ее начинаешь ощущать сразу же как только пытаешься изучить фреймворк.


Мне вот непонятно, почему настолько категоричен человек, который с его собственных слов, все еще сомневается, стоит ли вообще разбираться в фреймворках или нет.

Цитата (paul85 @ 9.06.2014 - 15:04)
Ругается на джумловские библиотеки. А косяк у тебя... О как...


Джумлу никогда не брал в руки, но косяк часто действительно "у тебя" ))

Банальный пример

API:

function myApiFunction($param)
{
if (!$param instanceof someInterface && !is_array($param))
{
throw Exception('wrong something');
}
}



Ваш код:
myApiFunction('123123');


Ошибка именно у вас.

Ну и к тому же приравнивать даже отдаленно цмс и фреймворки могут только люди, не имеющие представления ни о том, ни о другом.
glock18
Цитата (paul85 @ 9.06.2014 - 15:04)
Вот ложка дегтя есть и ее начинаешь ощущать сразу же как только пытаешься изучить фреймворк.


Вот про это кстати можете поподробнее рассказать.
paul85
Цитата (glock18 @ 9.06.2014 - 19:40)
Ну и к тому же приравнивать даже отдаленно цмс и фреймворки могут только люди, не имеющие представления ни о том, ни о другом.

По большому счету - это одно и то же. =) CMS (в частности Joomla) в первую очередь фреймворк. На котором написан продукт. Все вместе это и называется CMS Joomla. Да, они много CMS-ного бросили в Core, ну и что? Суть от этого не меняется.

Ну и если на то пошло, я их и не сравниваю вовсе. Смысл поста заключается немного в другом.
Цитата (glock18 @ 9.06.2014 - 19:40)
Джумлу никогда не брал в руки, но косяк часто действительно "у тебя" ))

Ну так я об этом и говорю. Как раз в контексте о пороге вхождения и что человеку не разбирающемуся преодолеть такой заскок будет, мягко говоря, сложно.
Цитата (glock18 @ 9.06.2014 - 19:40)
Это уже PDO предлагает изначально, и придумывать особо ничего не надо.

Правда? А вот в RoR даже присутствуют скрипты миграции. А про PDO вообще там не слыхали. Чего-то я не видел в Yii скриптов миграции на другие СуБД... Предлагается просто поменять в конфиге тип драйвера и якобы все заработает. Ну не в этом дело - не главная фишка, так не главная. Хочется понять что же тогда главное.

Цитата (glock18 @ 9.06.2014 - 19:41)
Вот про это кстати можете поподробнее рассказать.

А чего там рассказывать? Навязывают много различных абстракций, навязывают naming convention. В случае экстренного и значительного вмешательства в проект получаем огромный батхерт если опыта немного. Когда на собственном движке вопросы любой сложности решаются относительно быстро, поскольку мы имеем возможность вмешаться даже в ядро (мы его знаем). Получается скорость разработки и масштабируемость обыкновенный обман для неискушенного пользователя. Ловушка, говоря проще. Это и есть на мой взгляд ложка дегтя. Да, она со временем растворится может быть в бочке с медом и не будет так ужасающе досаждать. Но первое с чем сталкивается новичок при изучении продукта - это как раз она. Смысл моей фразы заключается именно в этом.

И ладно бы еще PHP, он хоть и меняется от версии к версии, но не фатально. А вот фреймворк может измениться настолько сильно, что его надо будет изучать чуть ли не заново.

Цитата (glock18 @ 9.06.2014 - 19:40)
почему настолько категоричен человек, который с его собственных слов, все еще сомневается, стоит ли вообще разбираться

Да в чем разбираться-то, и ради чего, я вот это хочу понять! ))) В чужих "хотелках" (naming convention тот же)? ЗАЧЕМ!? Нет ответа...
sergeiss
Цитата (paul85 @ 9.06.2014 - 19:04)
С трудом нашел книгу, причем на английском. И всё, набрал оттуда текст, запустил - не работает.

Когда читаю такие слова, то вспоминаю анекдот "...или свистка не хватит, или акула глухая попадется..." wink.gif
Искал где - среди полной халявы? wink.gif

Я тут недавно скачал с books.ru кучу книжечек "по 1 рублю". В т.ч. одну по Джумле. Переводная, на русском. 2008 года выпуска; но я думаю, что актуальна все равно. Если надо - сброшу.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.