Kop
Alex
Kop
D.
@worlak2 Это не select, а create table.
Alex
Именно
пожалуйста не неси хуйни, ладно?
Kop
Kop
Или скл инъекций ?
D.
На селекте используется placeholder
Костянтин
Костянтин
спорьте
Kop
Изначально это является плохим ходом, потому что данные туда могут попасть разные и при недостаточной обработке будут не лучшие результаты из-за такой *хуйни* которую вы делаете
Enot
спорьте
https://memepedia.ru/wp-content/uploads/2018/01/j8ufbixp.jpeg
Костянтин
Alex
Вы хотите поспорить насчёт овасп топ?
нет, я хочу сказать что ты идиот и не понимаешь разницы между unsafe данными и данными, полученными на основе твоего же кода (как-то структура твоего же класса) и таки если мы говорим про аля ORM и построение запроса, то ты ну никак не уйдешь от генерации запроса строковыми операциями.
Alex
другой вопрос в том, что даже данные взятые из кода неплохо бы дополнительно валидировать.
Alex
поэтому вместо того чтобы петь мантру - строковые операции плохо, лучше бы включить мозг и научиться понимать смысл.
Tishka17
Tishka17
ну передаст, это вылезет в тестах
Tishka17
вообще конечно имено колонок надо нормализовать, да
Tigran
даже твой код?
иногда и из кода лучше не надо несекьюрно инъектить, сегодня доверенный, а завтра вызов твоего метода кто-нибудь к своему эндпоинту прикрутил
Kop
Kop
Tishka17
но от формата никуда не денешься
Tigran
ну ясное дело
Alex
об этом и речь
Tigran
просто нужно всегда типобезопасный формат делать со всеми эскейпами
Tigran
или о чём срач?
Tishka17
Alex
срачь об безапеляционном заявлении "никогда не используйте форматные строки для построения SQL"
Nikolay
F
Tishka17
вообще, create table надо просто руками писать, а не долбить генерацию
Kop
но от формата никуда не денешься
моя ошибка что сказал про формат не рассмотрев до конца запрос, мельком пока листал. Показалось что это селект или како либо инсерт. Поэтому сделал замечание, что такие вещи в формат не стоит пихать
Tigran
ну, без слоя эскейпинга и правда не надо использовать
Kop
Tigran
я думаю, вы к словам придираетесь, короч
Tishka17
вообще я склонен согласиться - нефиг юзать формат для SQL.
Alex
вообще я склонен согласиться - нефиг юзать формат для SQL.
тут есть нюансы, для новичков - да это табу.
но ты никуда не денешься от формата в том или ином виде, например если тебе нужно собрать динамический запрос руками с идентификатормами получаемыми программно.
и если, к примеру, psycopg2 тебе предоставляет безопасный query builder, который по факту тот же формат на стероидах, то другие движки - нет
Alex
если ты берешь те же данные из константы рядом, я не вижу проблемы использовать формат.
Tishka17
Tishka17
у меня щас в проекте
db.query(some_wrapper%(base_query % condition), (blabla, …))
Alex
ты в первую очередь должен понимать откуда данные приходят.
Alex
и если у тебя программист-зловред в команде засунул SQL-inj намеренно, то ты ну никак от этого не защитишься, кроме код-ревью и тестов.
Alex
Alex
сорян, за грубость в отношении безапеляционных заявлений.
brestows
Подскажите, а нормальная ли практика вьюхи которые должны быть закрыть паролем наследовать от LoginRequiredMixin ?
brestows
или есть более адекватное решение
Alex
Tishka17
я ж предлагал мидлварю
Tishka17
или не тебе?
brestows
Django
brestows
brestows
я просто читаю
brestows
и смотрю)
Denis
Denis
Но закрыты паролем это скорее про SuperuserRequiredMixin
brestows
я только изучаю Python и Django так что, естественно не все понимаю и не все возможности вижу.
brestows
Нормальная
Мне надо что бы сайт был доступен только после авторизации пользователя
Denis
Если весь сайт, то лучше мидлварь
brestows
Maxim
Мне нравятся относительные импорты в пределах пакета
brestows
сомневаюсь что до меня этого не делали)
Tishka17
Tishka17
Я даже ссылку давал
Tigran
блин, клёвое слово «праоль»
Maxim
это мама Оли
Maxim
или нескольких Оль
Maxim
(или папа)
Tigran
ваша праоль скомпрометирована
Tigran
срочно поменяйте праоль
Maxim
"Оля! Что там твоя мама опять в интернете творит?!"
Artyem
может это глагол
Maxim
а может, глагол с ошибкой
Maxim
и правильно писать "прооль"