• Стоит ли шифровать передаваемую информацию на стороне клиента?

    Assargin
    @Assargin
    Фокс Йовович, не знаю, как вы, а я совершенно правильно понял, что историю с выяснением личностей начали именно вы:
    Но при этом, я бы хотел иметь перечень имен и компаний - для пополнения стоп листа.

    А теперь, так как совершенно не имеете содержательных аргументов по существу обсуждаемых вопросов, сливаетесь под предлогом того, что на выяснение личности перешёл уже я, да.
    Написано
  • DRF ManytoMany фильтрация по связанной модели, в подзапросе?

    Assargin
    @Assargin
    У вас метод API должен вернуть список баннеров, так зачем вы кверисет от Page создаете и пытаетесь его фильтровать?
    Написано
  • Какой способ лучше защитит пароль?

    Assargin
    @Assargin
    xmoonlight,
    Первичная проблема: не отдавать паролю в открытом виде уйти с клиента.
    Не раскрывать его никому.

    Более вопиющую самоуверенность, чем в области безопасности, ещё поискать.

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

    Было бы это проблемой - решалось бы соответствующими протоколами, и вообще браузером на стороне клиента.

    Если я не хочу доверять какому-то сервису свой пароль - я доверяю гуглу/гитхабу/другому провайдеру и открытому и общепризнанному алгоритму OAuth2. Если на вашем сервисе этого не будет, ему доверия нет и быть не может, что бы вы не декларировали. Потому что у вас так или иначе на клиенте есть пароль в открытом виде, введённый пользователем, и возможность сделать с ним всё, что хотите. Вот и всё.

    Не устану повторять, что вы занимаетесь абсолютной ерундой. Но вы уверены настолько, насколько даже Даннинг вместе с Крюгером не были. Раскройте же секрет, кто вы и где работаете. Люди обязаны знать искпердов в области безопасности и сервисы, которые такие люди делают.

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

    Похвально, что вы таки проявили интерес, вынеся этот вопрос отдельно, но там пока провал - 1 ответ от такого же сектанта, где вы друг друга плюсуете, не стоит ровным счётом ничего. Попробую пригласить эксперта в тот вопрос.
    Написано
  • Стоит ли шифровать передаваемую информацию на стороне клиента?

    Assargin
    @Assargin
    А автору вопроса - чисто на подумать: если вы со своим синдромом Даннинга-Крюгера лезет в безопасность, то чего от вас можно ожидать клиентам в остальных сферах?
    И именно вы со своим изобретением должны ссылаться на научные статьи, причём не просто ссылаться - лучше запилите на хабре статью про ваше изобретение, откиньтесь на спинку стула и наблюдайте.
    Написано
  • Стоит ли шифровать передаваемую информацию на стороне клиента?

    Assargin
    @Assargin
    Фокс Йовович, а своё имя слабо сказать, чтобы люди могли посудить о вашей некомпетентности и пополнить свои стоп-листы?
    Моё, например, вполне открыто, и всё остальное гуглится. Тут мы вроде как не в телеге соли толкаем, чтобы шифроваться.
    Написано
  • Проблема с отношением many-to-many field, как исправить?

    Assargin
    @Assargin
    Andrei1penguin1, ооох.
    Вы если отталкиваетесь от того, что вам надо визуально в админке, то:
    - если вам нужно уметь в админке юзеру выбрать ему картинку - значит в модели юзера должен быть форинкей к картинке.
    - если в админке картинок надо выбрать юзера к ней - то наоборот.
    Написано
  • Какой способ лучше защитит пароль?

    Assargin
    @Assargin
    АртемЪ, "Б - Безопасность".

    Не, ну разве что эти финтифля могут защитить от того, что по дороге пароль не украдут, ладно.
    Но тут вам поможет TLS, прикручивайте сертификаты и ходите по HTTPS.
    Всё.

    Далее, хэш - это действительно хэш (кто бы мог подумать), но алгоритм хэширования работает так, что детерминированно конвертирует массив байт в другой массив байт фиксированной длины. И для удобства получаемый массив байт конвертируется в строку, к которым мы все привыкли.
    Вот кстати свежак на эту тему, пошаговый алгоритм SHA-256, практически на пальцах.

    Поэтому между открытым паролем и его хэшем (или чем угодно, что вы генерируете из пароля в клиентском браузере) стоит жирный знак равенства, и хакерам совершенно наплевать, что перехватывать или чем долбить ваш сервер - паролями из словаря, или предварительно эти же пароли из словаря прогонять по вашему гениальному алгоритму, по которому введённый пользователем в окошечко пароль предварительно прогоняется перед отправкой на сервер. И долбить уже этим.
    Или вы считаете, то хакеры не умеют читать javascript и пользоваться тем же отладчиком в хроме, чтобы увидеть всё то хитровыдуманное, что вы делаете на клиенте с паролем?

    Если пароль уходит на сервер это неправильно.

    Мне жаль все те гуглы и яндексы, которые не дошли до такой простой истины, до которой дошли вы.
    Хотя вру, всё же дошли. Предложили всему миру своё провайдерство в OAuth2, которым я и стараюсь пользоваться на других сервисах, если они такое предлагают.
    Но так или иначе и как бы то ни было, время от времен приходится вводить пароль в самом гугле, чтобы он отправился на сервер для проверки. И мне страшно, честно!)

    На сервере не должно быть пароля!

    Вот это правильно, и, конечно, необходимо хранить в БД только посоленные хэши и всякое такое, чтобы украв БД, никто не смог восстановить пароли и т.п. Но это совсем из другой оперы.
    Написано
  • Проблема с отношением many-to-many field, как исправить?

    Assargin
    @Assargin
    Тут, возможно, та же история, что и последнем вопросе про собак. Вы в целом понимаете, как проектировать БД и где какие связи использовать?

    Много ко многим между юзерами и картинками - это, типа, "каждый пользователь имеет несколько картинок" и "каждую картинку могут иметь несколько пользователей"? Или в чём смысл м2м связи тут?
    Если у вас, допустим, фотобанк, где авторы выкладывают свои работы, то тут вряд ли как с книгами (есть соавторы), и подойдёт связь один-ко-многим - "у картинки (Image) есть автор (User)". Это делается через поле user (или author) в модели Image, в админке картинок вы увидите выбор автора - одного из хранящихся в БД экземпляров модели User.
    Написано
  • Как добавить значения в queryset django?

    Assargin
    @Assargin
    Andrei1penguin1, для начала, опишите человеческим языком то, что представляют собой ваши модели, и какие связи между ними. При проектировании БД очень помогает. Вам тут ещё проще: у вас сущности реального мира. И вроде бы я знаю кое-что о собаках, но в упор не пойму, что такое Dogs, и уж тем более, почему оно с Dog должно быть связано М2М.

    Возьмём типичный пример с книгами и теми, кто их пишет - авторами.

    Есть книга, у книги есть автор, автор может написать много книг - это связь один-ко-многим, реализуется с помощью ForeignKey:
    class Book(models.Model):
        title = models.CharField()
        author = models.ForeignKey(Author)
    
    class Author(models.Model):
        name = models.CharField()


    Но ещё часто бывает такое, что книгу написать могут несколько человек в соавторстве - вот тут уже связь много-ко-многим:
    class Book(models.Model):
        title = models.CharField()
        authors = models.ManyToManyField(Author)
    
    class Author(models.Model):
        name = models.CharField()


    К слову, тут в django под капотом создаётся промежуточная таблица БД для реализации этой связи, и в объектах модели Author появляется поле book_set, через которое можно получить книги, в написании которых конкретный автор принимал участие (был автором или соавтором). Ну это так, для общего развития.

    Так что же у вас представляют собой Dogs и Dog, и почему вам там нужна связь много-ко-многим?

    Изучите документацию django, особенно по теме many to many. Заодно там найдёте примеры по сохранению новых собак в БД.
    Написано
  • Какой способ лучше защитит пароль?

    Assargin
    @Assargin
    Тот, при котором сам пароль никогда не отправляется с фронта на бэк.

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

    Чтобы не использовать пароли напрямую, придумали как минимум OAuth.
    Написано
  • Какой способ лучше защитит пароль?

    Assargin
    @Assargin
    АртемЪ xmoonlight Вы вообще себя слышите? Не говоря уже о других.
    Почему Вы так упорно не хотите, чтобы пароль был не в хешированном виде, уходя от пользователя на сервер?

    Фраза сектант-стайл, да ещё и жирненьким, просто валяюсь.

    Как вы думаете, почему до этого крыпто-воркфлоу ещё никто не додумался, вам всё-таки не дадут за него нобелевку, безопасники всего мира не будут выстраиваться в очередь, чтобы жать вам руки, а крупнейшие хакерские группировки не объявят за вас награду, живого или мёртвого?

    Чтобы было "по-проще ловить" - можно использовать "примесь": рандомную вставку случайных символов в случайные позиции. И это уже будет вообще нереально восстановить, а сервер - спокойно проверит.

    Упал со стула ещё раз. Пришлось отжаться, чтобы 2 раза не вставать ложиться.
    Если вы не знали, то изобретать что-то "новое" в области криптографии, не будучи хотя бы математиком - крайне плохая затея, от которой следует воздержаться. В противном случае хакерам будет очень "по-проще".
    Написано
  • Как добавить значения в queryset django?

    Assargin
    @Assargin
    Вопросы как помню можно редактировать, это лучше, чем накидывать комменты, которые не факт, что все прочитают.

    А по вопросу: видно, что из области азов, но так как спустя 13 часов никто сюда ничего не написал - значит я не один такой, и из описания действительно ничего непонятно. Кто такие dogs и dog, как они приходят на бэкенд и зачем там вообще manytomany и почему эти одна из этих собак ссылается на другую. Код был бы отличным дополнением.
    Написано
  • Как программисту отдыхать и организовать распорядок дня?

    Assargin
    @Assargin
    CyberKorn, начнём с того, что если сеньоры трахают вам мозг, значит вы не сеньор. Далее, если вы начинаете в 9, а заканчиваете стабильно в 18, это вообще супер - не каждый дев может похвастаться отсутствием переработок.
    Теперь о грустном - дорога до работы занимает часа 2, верно? Это боль. В каком городе вы работаете, если до сих пор приходится ездить в офис? Если такая долгая дорога, то очевидно, что одна из столиц, и больше похоже на Мск. Очень странно, обычно всех айтишников уже все конторы давно на удалёнку перевели, разве нет? В чём сильная потребность именно вам ездить в офис?
    На удалёнке реально проще, конечно. Как минимум нет дороги туда-сюда, времени стало вагон, очень радует.
    Написано
  • Как записать новое значение из цикла (Python)?

    Assargin
    @Assargin
    LebedevStr, у вас в цикле нет никакой конструкции, которая останавливает его выполнения в ожидании ввода пользователя. Поэтому логичность всего цикла под большим вопросом.
    Не знаком с telebot'ом, там асинхронщина или нет?
    Если да - то должна быть возможность получить ввод пользователя с поомщью конструкции await, если же нет - то вряд ли цикл тут будет вообще нужен.
    Как вызывается get_age, есть фрагмент кода?
    Написано
  • Как для каждого делителя из одного массива найти делители из другого массива с остатком 0?

    Assargin
    @Assargin
    Есть тестовые входные и выходные данные? И более внятная формулировка задачи?
    Написано
  • Почему для создания бота для телеграма используют python?

    Assargin
    @Assargin
    Наверное, это вопрос из серии "Почему сайты пишут на PHP": больше библиотек, документации, примеров, статей, комьюнити.
  • DRF как загружать файлы переданные в бинарном виде?

    Assargin
    @Assargin
    В стандартном интерфейсе DRF загрузка отрабатывает как положено.

    Пробовали ли вы сравнить в отладчике браузера, как работает c API этот стандартный интерфейс, с тем, как работает react?
  • Что не правильно в запросе PostgreSQL?

    Assargin
    @Assargin
    Valeriu Vodnicear, конечно. Была бы 1 плоская таблица, где модель, рульность и тип топлива - просто поля, вопроса бы не было у вас, я думаю. Но с "универсальной" структурой приходится извращаться.
    Интересно, какой у такого запроса, как в ответе Иван , получится EXPLAIN