• Нужна ли лицензия на работу с криптографией в заказной разработке?

    de-iure
    @de-iure
    just a crazy lawyer
    Читайте тут, все доступно изложено: www.consultant.ru/document/cons_doc_LAW_128739/1aa...

    Уже была подобная тема... лицензируется не продукт (ПО, алгоритм, способ), а деятельность.
    Положение определяет порядок лицензирования:

    1) деятельности по разработке,
    1.1) производству,
    1.2) распространению шифровальных (криптографических) средств, информационных систем и телекоммуникационных систем, защищенных с использованием шифровальных (криптографических) средств,

    2) выполнению работ, оказанию услуг в области шифрования информации,

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

    Фриланс это не для собственных нужд. Поскольку вы используете известный криптографический алгоритм, следовательно вы его разрабатываете и не производите, но собираетесь его распространять (п. 1.2). Относительно пунктов 2 и 3 нужно белее детально анализировать деятельность, это уже не наводящие ответы на форму, а конкретная работа юриста.
    Ответ написан
    1 комментарий
  • Сколько указателей в питон словаре?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Указатель на литерал name, указатель на литерал Dima, указатель на литерал age и указатель на синглтон 19. Переменная mydict к словарю не относится.
    Ответ написан
    7 комментариев
  • Что выбрать Aiohttp или Sanic?

    Guest007
    @Guest007
    Django, Python, Linux и всё такое...
    Выбирать всегда сложно.
    Если критерием является скорость, то вот сравнение

    starlette - разрабатывает Tom Christie. Реально крутой разработчик, автор, в том числе и Django Rest Framework. Быстро, мощно, хорошо документировано.

    aiohttp проигрывает почти в 2-3 раза

    Посмотри, что ещё под asyncio есть

    Сравнение с sanic по скорости я не нашёл.

    В любом случае лучше попробовать всё на простом примере и для себя определиться, что проще/лучше/быстрее/расширяемее...

    Возьми простой пример и повтори его на starlette и sanic. И сравни результат и свои ощущения...
    Ответ написан
    Комментировать
  • Как понять блокчейн?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    в чем его преимущества

    Ни в чем. Просто модная хайповая тема. Так же как "облака". Поначалу пытались впихнуть как всегда невпихуемое, кто-то поднял бабла, кто-то прогорел, после того как хайп прошел и стала ясна область применения - сидят тихо и не жужжат, потому что область применения оказалась очень узкой и весьма специфичной...
    Ответ написан
    4 комментария
  • Где найти CSRF токен?

    DevMan
    @DevMan
    в коде страницы.
    Ответ написан
    Комментировать
  • Как запустить многознаковую гитовскую конструкцию?

    Эта «многознаковая конструкция» — артефакт конфликта слияния. Конфликт нужно разрешить: git-scm.com/book/en/v2/Git-Branching-Basic-Branchi...

    Ну или просто удалить его, если он на самом деле пустой.
    Ответ написан
    Комментировать
  • Как добавить к названию переменой символ?

    Zoominger
    @Zoominger Куратор тега Python
    System Integrator
    4 куска подобного кода.

    Какая чёткая характеристика.

    Ответ: замените пачку переменных на массив и обрабатывайте его циклом.
    Ответ написан
    2 комментария
  • Как сделать видео редактор на python?

    warlinx
    @warlinx
    Ответ написан
    Комментировать
  • Как вызывать из браузера скрипты на Python?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Можешь начать с flask.
    Ответ написан
    Комментировать
  • Как я могу сделать веб сервер flask общедоступным?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Flask
    Седой и строгий
    Купить у провайдера белый IP-адрес и настроить на маршрутизаторе проброс портов или купить VPS.
    Ответ написан
    Комментировать
  • Сокращение кода в голых SQL запросах?

    @mkone112
    Начинающий питонист.
    Для начала, рекомендую изучить Python. Код такой маленький, но в нем уже так много дичи...
    Вот это я запомню надолго:
    f'UPDATE %s SET %s WHERE %s=$%s' % \
                (
                    table_name,
                    placeholders,
                    column,
                    permissible_placeholder
                )
    Ответ написан
    3 комментария
  • Как лучше провести валидацию силы пароля?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Это спорный вопрос. Имеет смысл проверять по таблице самых популярных паролей (серверная валидация) и отказывать, если пароль оттуда.
    Ни в коем случае не проверяйте сложность пароля фактом наличия в нём символов из определённых групп. Нужно просто считать энтропию пароля в битах и задать пороговую допустимую энтропию.
    К примеру, если у пользоватля длинный пароль из 30 символов, ему совершенно необязательно добавлять символы разного регистра, цифры и всякие запятые, они практически не повлияют на сложность, зато могут повлиять на способность пользователя как следует запомнить свой пароль (где там какая цифра, куда дефис и где именно скобки...)

    Итак,
    1. накладывать оганичения нужно только на энтропию пароля, остальное пойдёт только во вред.
    2. ограничения должны нести рекомендаельный характер, имеет смысл сделать два порога энтропии. Совсем слабые пароли не допускать, средние допускать с предупреждением. Пусть пользователь осознаёт сложность пароля и сам соотносит ее с рисками злонамеренного подбора. Порог энтропии можно проверять на клиенте, базу популярных паролей придётся чекать на сервере.
    3. как следует солите пароли и не храните их в открытом ввиде. Это правило следовало бы вынести на первое место, но это не рейтинг мер, а просто важные замечания. Соль для каждого пароля можно хранить рядом с хешем пароля через разделитель, рядом же можно указать и название алгоритма хеширования.
    4. сложность пароля - не панацея. Нужно делать эффективную систему распознавания попыток подбора пароля. Если сильно ограничить скорость подбора пароля то пароль можно делать простым. Пример тому - пинкоды на вашей банковской карте. У вас всего три попытки неправильного ввода на сутки, ошибочные попытки на следующий день вовсе окирпичат вашу карточку. Не бывает простых решений. Нужно понимать также, что пароли могут брутфорситься не с целью подбора, а с целью блокирования входа законного владельца аккаунта.
    5. Не забывайте про двухфакторную авторизацию. Это важно.
    6. Обновляйте сессию пользователя при штатной работе в аккаунте. Не вынуждайте каждый раз вводить пароль по несольку раз на день. Этим, к примеру, постоянно грешит алиэкспресс. Но у них многое ерез задницу.
    7. Не делайте нестандартных форм авторизации, важно, чтобы ваша форма нормально работала с основными стандартными менеджерами паролей. Если пользователь пользуется менеджерами паролей, то это его осознанный выбор, он может быть вполне обоснован. Это гораздо лучше, чем пароль на стикере, прилепленый к монитору.
    8. Если делаете API, не требуйте использования в нём паролей. Сделайте нормальный менеджмент ключей, не заставляйте светить пользовательские пароли в открытом виде в скриптах и исходниках. Не все, пока еще, грамотно работают с секретами.
    Ответ написан
    1 комментарий
  • Как реализовать?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Как вариант:

    Формируете транзакцию с временной меткой, статусом "не оплачено" и связью на товар и количество.
    При выводе количества товаров отминусовываете количество товаров, которые завязаны в транзакциях со статусом "не оплачено".
    С нужной периодичностью пробегаете по транзакциям со статусом "не оплачено", и удаляете те, у которых временная метка старше 40 минут.
    Ответ написан
    Комментировать
  • Какая база данных СУБД лучше для веб приложения?

    Если для backend ты используешь python, то как правило используют СУБД postgresql. В python есть куча библиотек для работы с этим СУБД, как правило используют psycopg2 для синхронного, и asyncpg для асинхронного. Postgresql поддерживают также SQLAlchemy и Django. Есть готовый образ на DockerHub, по этому с контейнерами проблем тоже не будет.
    Ответ написан
    Комментировать
  • Нужны ли пустые __init__.py?

    @pyHammer
    mkone112 они вам сильно мешают? Мне нет)
    А вот еще, давайте подумаем, вот тут Вы не хотите добавлять логику в __init__, а в другом месте захотите добавить, и что тогда?
    Полностью согласен с Руслан Гильфанов, сам так делаю. Если не определить apps.py внутри приложения, то банально даже сигналы не объявить. Поэтому для меня файл __init__.py с подобным содержанием шаблон по умолчанию.
    Ответ написан
    4 комментария
  • Скажите ребята, обязательно обновлять на новую версию язык программирования Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Если вам нужны новые возможности, то да. Если нет, то нет.
    Ответ написан
    1 комментарий
  • Как создать переменную с рандомным названием в python?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    В порядке бреда:
    import random
    # создаем случайное имя переменной из 5 символов и присваиваем, к примеру - числу
    # вы можете добавить свой алгоритм для генерации рандомного названия
    locals()[''.join(map(lambda _:random.choice(['a', 'b', 'c', 'd', 'e', 'f']), range(5)))] = 42
    
    # смотрим какие переменные есть в нашей области видимости, и видим переменную подпадающую под нашу
    locals()
    # {..., 'ebfac': 42}
    
    #  выводим значение переменной
    >>> print(ebfac)
    # 42

    Поздравляю - вы создали переменную с рандомным названием.

    PS Такое решение ожидали? Или просто толком вопрос не смогли сформулировать?
    Ответ написан
    3 комментария
  • OpenSource: как вы выбираете проекты и вливаетесь в него?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    В дополнение к tovogukA Владимир Сидоров OnYourLips могу добавить: Главное не надеяться что все пуллреквесты будут приняты или приняты быстро.
    Многие кто пытается начать помогать опенсорс проектам, обижаются на такое поведение и бросают это дело.
    Не всегда ваши взгляды и взгляды разработчиков будут сходиться.
    Ответ написан
    1 комментарий