|
|
|
4.10, Crazy Alex (??), 16:34, 03/01/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Точнее, в разумных пределах нужна. Смысл писать рутинный SQL когда он тривиально генерируется. Другое дело, что если по уму - то: 1) SQL генерируется один раз; 2) есть способы написать его руками; 3) не выпендриваться и не делать ORM слишком умным, его задача - избавить от рутинного кода.
| |
4.17, Аноним (-), 18:30, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> правильно. Вся эта педерастия в виде ORM не нужна
Не вопрос. Используй SQLAlchemy Core как генератор SQL.
| |
|
5.18, Аноним (-), 18:39, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> как генератор SQL.
Или как конструктор. Не знаю как точнее описать это. В Drupal-е начиная с 7 версии похожая штука есть.
| |
|
|
|
2.13, Аноним (-), 17:44, 03/01/2013 [^] [^^] [^^^] [ответить]
| –2 +/– |
> В SQLAlchemy такого никогда не будет. Python рулит!
Да, тут в соседней ветке в питонистом moinmoin нашли аж выполнение левого кода через убер-баянный баг.
О чем это я? Да о том что вы лишний раз нам показали что поделия на питоне надо обходить за километр: как видим, на питоне программируют бакланы полагающие что крютой рантайм и крютой фреймворк заменяют разработчику мозги.
| |
|
3.16, Аноним (-), 18:28, 03/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Да, тут в соседней ветке в питонистом moinmoin нашли аж выполнение левого
> кода через убер-баянный баг.
И? Я не утверждал, что в питоне нельзя создать уязвимость по собственной глупости.
> на питоне программируют бакланы полагающие что крютой рантайм и крютой фреймворк
> заменяют разработчику мозги.
Не проецируй. Функционал SQLAlchemy видел? Не читал, но осуждаю?
| |
|
|
|
2.21, Crazy Alex (ok), 21:21, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
Насколько я понимаю - из-за слишком богатого функционала. Хрен все мыслимые пути проверишь.
| |
|
3.26, Аноним (-), 22:01, 03/01/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Насколько я понимаю - из-за слишком богатого функционала. Хрен все мыслимые пути
> проверишь.
Помолчи. Два кейворда в строковом значении проверить, прежде, чем кормить это в запрос, может даже дебил. Ты не понимаешь ни сути инъекции, ни реляционных субд в частности.
| |
|
4.33, Crazy Alex (??), 01:25, 04/01/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это ты сути не понял. Ну придумают какой-то другой путь. Ничему попытки резать HTML-теги в своё время для получения "безопасного" подмножества не научили? Валидация по черным спискам дырява всегда.
Если уж на что там наезжать - так это на хранение чего-то, что десериализуется напрямую, в куках. Но - положились на HMAC и не вбили генерацию его секрета в дефолтное развертывание приложения. Ну и слишком вольная тактовка параметров всегда злом была. Былоб всё фиксировано - и нет проблем. В общем, вагон мелких и простительных огрехов удачно совпал.
| |
|
5.35, Аноним (-), 11:52, 04/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Интеллигентные люди в куки не кладут ничего критичного. По сути, авторизационные куки есть лишь квитанция, что имярек успешно прошел аутентификацию и имеет доступ к тому-то и тому-то.
Суть, однако, SQL-инъекции - в пропихивании через веб-форму подзапроса UNION с доступом к таблицам пользователей/паролей и эскалация прав в бакэндовой БД до суперпользовательских. С последующим выносом оттуда логинов и паролей пользователей.
И защита делается либо на стороне сервера приложений (проверяется либо посредством, скажем, GreenSQL или хардкодовой процедурой валидации значений на отсутствие SQL-кейвордов), либо на стороне самой БД, скажем, на уровне табличного интерфейса, обязательного при обращении к таблицам (как это сделано в Oracle).
| |
|
|
|
|
|
|
3.27, Аноним (-), 22:02, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> есть, если интересно патчи смотрите
Это руками за секунды пишется. Если чо. Любым вменяемым девелопером. SQL-инъекции как методике атаки сто лет в обед.
| |
|
|
1.19, asdoooq (?), 20:15, 03/01/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А в чём фишка-то? Рельсы, когда разбирают параметры, могут в качестве значения параметра создать не строку, а объект произвольного типа? Правильно я понял?
| |
|
2.22, Crazy Alex (ok), 21:30, 03/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
у рельсов там используется десериализация, из которой можно собрать что угодно. Друго дело, что там вполне разумно прикрылись подписью. Ключ для, которой, по идее, надо генерировать при каждом развертывании рельсового прииложения или предупреждат администратора, но этого не сделано во многих опенсорсных проектах.
| |
|
3.37, Аноним (-), 11:54, 04/01/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> у рельсов там используется десериализация, из которой можно собрать что угодно. Друго
> дело, что там вполне разумно прикрылись подписью. Ключ для, которой, по
> идее, надо генерировать при каждом развертывании рельсового прииложения или предупреждат
> администратора, но этого не сделано во многих опенсорсных проектах.
В опенсурсе тоже полно г@внокодеров, мнящих себя супер-пупер-мега-дупер-профессионалами.
| |
|
|
|
2.38, Аноним (-), 20:07, 04/01/2013 [^] [^^] [^^^] [ответить]
| +/– |
> But ActiveRecord also defines ways for the programmer to inject SQL fragments into the query
Так это же выходит не баг, это штатное поведение ActiveRecord.
| |
|
|