LINUX.ORG.RU

Исправление уязвимостей в Ruby on Rails

 , ,


1

3

Встречайте новые исправления критических уязвимостей в фреймворке Ruby on Rails.
Была выпущена новая порция обновлений популярного фреймворка – 3.2.12, 3.1.11 и 2.3.17.

Всем пользователям Ruby on Rails рекомендуется как можно скорее обновить свои системы.

Подробнее об уязвимостях:

Список изменений в версиях:

  • 3.2.12
    • закрыта уязвимость в attr_protected
  • 3.1.11
    • закрыта уязвимость в attr_protected и YAML
  • 2.3.17
    • закрыта уязвимость в attr_protected и YAML

Также вышло обновление для гема JSON, закрывающее уязвимость CVE-2013-0269 ...

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: shahid (всего исправлений: 5)
Ответ на: комментарий от special-k

Вряд ли. И как показывает недавних пост - на джанге жизни нет.

да, RoR впереди планеты всей. Пока от него отказывается Twitter, Facebook покупает за $ млн говноподелия на джанге :)

xpahos ★★★★★
()

Молодцы, что закрывают!

Встречайте! Новый релиз уязвимостей RubyOnRails.

svmk
()
Ответ на: комментарий от xpahos

Пока от него отказывается Twitter

Это помоему было 1_000_000 лет назад.

говноподелия на джанге :)

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

special-k ★★★★
()
Ответ на: комментарий от xpahos

Twitter

«Ой, у нас опять увели пароли».

Facebook
покупает за $ млн говноподелия

Крупные компании часто так делают, что тут такого? :}

Deleted
()
Ответ на: комментарий от special-k



определение ФП



Последовательное применение функций для изменения состояния (и преобразования) объекта (группы объектов). Т.о., на мой взгляд, в ФП объект хранит состояние, но не методику работы с собой, т.е. объект не имеет типа - основы основ ООП.


Фак! В чистом ФП «объекты» не меняют состояния, вместо этого создаются новые «объекты», это гарантия «чистоты» функций и всех вытекающих плюшек ФП.
«Методику работы» ясен пень хранит тип.

Virtuos86 ★★★★★
()
Ответ на: комментарий от special-k

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

Давай-давай, сорви покровы!!!11

anonymous
()
Ответ на: комментарий от Virtuos86

Да забей, он ещё не такую чушь несет и не морщится...

anonymous
()
Ответ на: комментарий от anonymous

так как Number и Function - это независимые классы, не имеющие предка. Что и требовалось доказать.

Лолшто?

Я тебе секрет открою, прототип в JavaScript, это ...

Гг)

Reaper ★★
()
Ответ на: комментарий от Deleted

С Джавой они соревноваться не могут.

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

Bioreactor ★★★★★
()
Ответ на: комментарий от Virtuos86

В чистом ФП «объекты» не меняют состояния
(и преобразования)

И да, это как раз оно, особенность языка, выставляется как парадигма. Но состояние абстрактного объекта всеравно меняется, пусть теперь и не хранится в одной переменной.

special-k ★★★★
()
Ответ на: комментарий от anonymous

Помоему это на столько очевидно, что даже спорить бессмысленно, достаточно по джемам для раилс пройтись (и поискать подобие аналогов в джанго).

special-k ★★★★
()
Ответ на: комментарий от special-k

Ну давай пройдись. Все джемы или манипусенькие поделки которые самому проще написать или большие и кривые или же написанные для инопланетян от инопланетян.

anonymous
()
Ответ на: комментарий от special-k

Но состояние абстрактного объекта всеравно меняется, пусть теперь и не хранится в одной переменной.

Я не понял юмора вообще. Ты там горячительных напитков не употребляешь?) Чистая функция всегда дает один и тот же результат для одинаковых входных данных.

Prelude> let head' = \x -> head x
head' :: [a] -> a
Prelude> let list = [1..5]
list :: [Integer]
Prelude> head' list
1
it :: Integer
Prelude> 
Вот здесь (head' list) всегда вернет 1, в любой момент работы программы. Потому что «объект» list (в Haskell это v :: T - значение v типа T) никогда не изменит свое состояние. Потому что поменять ты его не сможешь.

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

При чем тут особенность языка.

'.'.join(map(str, range(15))) тоже вполне фп-шная конструкция. Python - ФП-языг?)

Я не знаю как дело обстоит в Ruby, но в Python есть четкое разделение между изменяемыми/неизменяемыми объектами. И даже там заметно, что изменяемые объекты с одной стороны более удобны, но и ошибок при работе с ними предостаточно, как раз из-за их мутабельности.

Virtuos86 ★★★★★
()
Ответ на: комментарий от special-k

Нет, это не связано с понятием «абстрактный класс») Не рви свой шаблон)

вот я и спрашиваю, что ты имел в виду.

RedPossum ★★★★★
()
Ответ на: комментарий от Virtuos86

Python - ФП-языг?)

Ну не ООП же), почему хаскель называют правильным питоном?)

в Python есть четкое разделение между изменяемыми/неизменяемыми объектами.

неизменяемые объекты можно сделать даже на js https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/... и что..

special-k ★★★★
()
Ответ на: комментарий от RedPossum

Сущность, обладающая состоянием и поведением.

special-k ★★★★
()
Ответ на: комментарий от Bioreactor

один косяк на java нет не то что CMS номральной нет там даже админки нет, не opencms я видел (и еще с десяток поделок), но пользователи хотят сами добавлять а при виде opencms они стесняются чувствуют что компьютер умнее их

Deleted
()
Ответ на: комментарий от anonymous

А кто сказал что данные нужно куда-то скрывать? Адепты ООП ?

Deleted
()
Ответ на: комментарий от anonymous

Комментарий бессмысленен без ссылок на поделия

поделия сугубо внутрекорпоративные

exception13 ★★★★★
()
Ответ на: комментарий от Komintern

ну типа говорим руби - подразумеваем рельсы ))

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

Spirit_of_Stallman ★★★
()
Ответ на: комментарий от special-k

хотя есть питонщики, которые говорят, что это джанго говно

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

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

например что?

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Здесь мы в первую очередь сравниваем web-фреймворки и их компоненты, т.к. ты сказал, что они не нужны, то на этом, пожалуй, все.

special-k ★★★★
()
Ответ на: комментарий от xpahos

А вообще это конечно слив, т.к. даже до мысленного сравнения было решено, что все тщетно:

джанго говно, как и все фреймворки

42

или это анон

Все джемы или манипусенькие поделки которые самому проще написать или большие и кривые или же написанные для инопланетян от инопланетян.

42

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от Komintern

Это какие-то неправильные мысли, и у них, наверняка, неправильный мозг.

anonymous
()
Ответ на: комментарий от Komintern

ну типа говорим руби - подразумеваем рельсы )) как с питоном и джангой.

С Python ассоциирую Pyramid. Не наблюдается там security багов ежемесячных.

tyler19
()
Ответ на: комментарий от Deleted

Конечно конечно, все, кто с тобой не согласны, тред не читали, ага. Пробуй ещё :}

И какое слово тебе не понятно? Не срача ради, просто интересно.

linuxnewb
()
Ответ на: комментарий от special-k

Здесь мы в первую очередь сравниваем web-фреймворки и их компоненты, т.к. ты сказал, что они не нужны

я ничего не говорил про ненужность, я говорил о том что они говно.

Так будет хотя бы пара пунктов? Вот есть у меня Pyramid, что мне в нем не хватает?

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

что мне в нем не хватает?

еще одно 42

Кому вообще интересно чего там тебе не хватает, нет такой шкалы «нехватка по xpahos», можно сравнить только наличие (отсутствие), и чтобы далеко не ходить вот https://www.ruby-toolbox.com/#Active_Record_Plugins найдутся ли аналоги у Pyramid/django, например, для группы Active_Record_Plugins, хотя бы по одному аналогу на каждую подгруппу. Повторюсь, мне не интересно хватает тебе этого, или нет, рассматривается только вопрос присутствия.

special-k ★★★★
()
Ответ на: комментарий от pawnhearts

какие, например?

Можешь присоединиться к поиску Исправление уязвимостей в Ruby on Rails (комментарий)

А еще меня позабавило это http://mourk.com/2008/02/14/monkey-patching/

Существует замечательный, но не лишенный недостатков, фреймворк для веб-приложений — Django. В нем уже существует модель пользователя (User), используемая для авторизации, разграничения прав доступ, хранения самих пользователей... Естественно, эту модель нужно использовать. На практике оказывается, что у пользователя могут быть дополнительные атрибуты (не предусмотренные фреймворком), например, пол или телефон. Первое, что хочет сделать здравомыслящий разработчик, — написать новый класс пользователя, унаследовав его от джанговского. Увы, один из главных минусов django — его ORM не поддерживает наследование моделей, то есть модель то создастся... но она всего лишь продублирует все поля родителя в новую таблицу базы данных, создав тем самым избыточность.
выход один — monkey patching!

Все реально так плохо?) Вы в курсе, что наследование модели в activerecord (и не только!), это не то что нормально, это нужно делать, и даже реализован полиморфизм, чтобы хранить разные объекты в одной таблице.

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от special-k

Пока ror и django спорят о том как следует отображать наследование на реляционную схему, Hibernate уже давным давно поддерживает все три способа реализации и предоставляет выбор программисту.

nikitazu
()
Ответ на: комментарий от special-k

Все реально так плохо?)

нет. во-первых, для доп полей всегда был one-to-one связанная с user модель profile(которую ты описываешь сам). во-вторых, в джанге 1.5 можно задавать какую угодно модель user.

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

а тебе не кажется, что это haml как бы это так сказать...не нужен?

Конечно, не нужен. Можно и на брейнфаке темплейты писать.

provaton ★★★★★
()
Ответ на: комментарий от pawnhearts

в джанге 1.5 можно задавать какую угодно модель user.

Т.е. наследовать модель по-прежнему нельзя?))

активрекорд это вообще убожество по сравнению с алхимией например

42, да и пока все выглядит в точности наоборот.

конечно найдутся.

ну так найди.

а тебе не кажется, что это haml как бы это так сказать...не нужен?

42

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от nikitazu

все три способа реализации

Что за 3 способа?

Вообще ява не слишком динамична, боюсь это откладывает серьезный отпечаток на конструирование моделей, нельзя же там сделать так https://github.com/brainspec/enumerize, или так http://apidock.com/rails/ActiveRecord/Base/serialize/class, я конечно понимаю, что не нужно, но все-же..

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.