• Как открыть консоль браузера на Андроид смартфоне?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    https://developer.chrome.com/docs/devtools/remote-...
    Подключаем телефон к компу, открываем на телефоне сайт и на компьютере видим что в консоли телефона.
    Ответ написан
    Комментировать
  • Есть ли готовые решения для multihoming в linux?

    ValdikSS
    @ValdikSS
    NetworkManager поддерживает, но требует ручной настройки.
    Что-то вроде:
    # nmcli c modify 'eth0' ipv4.route-table 1234
    # nmcli c modify 'eth0' ipv4.routing-rules "from 1.2.3.4 table 1234 priority 1000"

    Потребуется хоть какой-то маршрут в основной таблице маршрутизации, хоть
    # ip route add default dev lo

    Также netplan поддерживает policy routing, но его не тестировал.

    Вообще, то, что вам требуется, можно реализовать bash-скриптом в виде dispatcher для NetworkManager.
    Ответ написан
    1 комментарий
  • Python. Не могу понять данный пример на фото, объясните подробнее и попроще??

    Vindicar
    @Vindicar
    RTFM!
    Срезы пишутся в виде "откуда:докуда" или "откуда:докуда:шаг", при этом любая часть может быть опущена, получив значение по умолчанию.
    "откуда" определяет номер первого элемента, который мы выбираем, включительно. Если он опущен, то это эквивалент указания 0.
    "докуда" определяет номер первого элемента, который мы УЖЕ НЕ выбираем, т.е. не включительно. Если он опущен, то это эквивалент "до конца списка".
    "шаг" определяет шаг, с которым мы идём по коллекции, т.е. берем ли мы каждый элемент, или каждый второй (через один), или каждый третий, и так далее. Если шаг не указан, то это эквивалент шага 1.

    В общем-то и всё, остались мелочи типа отрицательного шага (идём в обратном порядке). Что именно непонятно?
    Ответ написан
    1 комментарий
  • Как правильно спроектировать базу данных через ORM Django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Ответ написан
    Комментировать
  • Как в Django ограничить доступ пользователя только к своим объектам?

    deepblack
    @deepblack Куратор тега Django
    Добавь в модель поле owner или created_by например,
    при сохранении обьекта, заполняй это поле ссылкой(ForeignKey) на текущего юзера.

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

    Ну и логично в дополнение к вышеперечисленному сделать страницу со списком созданных постов, и только на них выводить ссылку на редактирование.

    План действий я обрисовал, конкретную реализацию делай сам (гугли примеры)
    Ответ написан
    1 комментарий
  • Мешает ли факт того, что я лежал в ПНД от военкомата и получил "легкий" диагноз (тревожное РЛ) трудоустройству в it сфере?

    php666
    @php666
    PHP-макака
    В IT каждый второй шизофреник, за своего сойдешь.
    Ответ написан
    Комментировать
  • Нужно API для расчёта стоимости и срока доставки посылок через Почту России

    marconi
    @marconi
    Вопрос старый, но уже решенный. Напишу для тех кто все еще ищет на него ответ. Сейчас у почты есть всё. Если у Вас есть договор используйте api сервиса otpravka.pochta.ru документация в личном кабинете "отправки". Если у Вас нет договора и доступа к api используйте эти два сервиса от Почты России. В одном можно рассчитать стоимость отправки, в другом сроки доставки.
    Расчет сроков доставки
    Расчет стоимости доставки

    К сервисам прилагается документация, из неё следует что ответы можно получить уже и в json.
    У двух этих сервисов есть существенный минус. Все запросы надо делать зная почтовый индекс места назначения.
    При этом нет сервиса поиска индекса по названию населеного пункта... ну или я такой не нашел...
    Ответ написан
    1 комментарий
  • Что здесь с математикой не так?

    @AVKor
    И. М. Виноградов. Основы теории чисел. стр. 8.
    Ответ написан
    Комментировать
  • Как обойти "Microsoft Visual C++ 14.0 is required" без засирания диска 4ми гигами хлама от MS?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Можно поставить MinGW и в distutils.cfg прописать
    [build]
    compiler=mingw32
    Ответ написан
    Комментировать
  • Как решить проблему задвоения аккаунтов при регистрации и входе через соц. сети?

    neuotq
    @neuotq
    Прокрастинация
    Если регистрация с email адресом, то по возможности вытаскивать email из соц сетей и автоматически привязывать у пользователя эту соц сеть. Если соц сеть не дает email, то при первом входе насильно требовать завершения регистрации через указания email, далее проверяется есть ли этот пользователь уже в базе - тогда говорим нужно авторизоваться и после логина привязываем соц сеть, если такого email нет, то регистрируем нового пользователя с записью этого email в качестве основного + привязка соц сети + пароль(уже по желанию).
    Ответ написан
    2 комментария
  • Как правильно написать авторизацию/аутентификацию?

    dasha_programmist
    @dasha_programmist
    ex Software Engineer at Reddit TS/React/GraphQL/Go
    Есть два варианта хранения данных об авторизованном пользователе:
    1) В куки (так по умолчанию используется в асп.нет): необходимые данные (claims) шифруются machineKey и отдаются пользователю в http-only куках, таким образом при каждом запросе на сервер они присылаются, расшифровываются и далее можно проверить в необходимых местах.
    плюсы: полностью stateless, нет надобности обращаться к БД
    минусы: при необходимости "выбить" сессию со стороны сервера нужно поднимать более сложную логику и хранить флаги в промежуточном хранилище (проверять что если для такого-то пользователя требуется завершить, то такие действия, иначе другие);
    2) Ключ сессии: после успешной аутентификации авторизуем пользователя и claims храним на сервере в быстрой памяти или БД (key-value), где ключ - ключ сессии, значение - любые данные.
    плюсы: есть полный контроль состоянием авторизации (как и возможность завершить сессию со стороны сервера, так и сменить пользователю роль(или другие параметры) "на лету")
    минусы: организация доп. прослойки - кэша или хранение в БД (медленно), при перезапуске/падении сервиса сессии клиентам потребуется перелогиниться.

    1
    1.1 В куки писать или ключ сессии или шифрованные данные о пользователе, сессия - абстрактное понятие (это пара: ключ и данные), ключ должен быть защищенным, т.е. трудным к копированию (хотя бы зрительно трудно запомнить), уникальным (чтобы не возникло коллизий: двум разным пользователям выдался один и тот же ключ, т.е. это не должна быть хэш-функция от логина-пароля или IP или чего-то неуникального).
    1.2 В асп.нет существуют атрибуты авторизации (в которых можно расставлять проверки на требование таковой, роль, конкретный пользователь), в общем смысле логика такова: поступил запрос на сервер, далее нужно посмотреть к какому ресурсу идёт обращение (защищенному или свободному), если ресурс защищен, то проверить куки (ключ сессии или шифрованные данные), расшифровать/получить данные о сессии из кэша и предпринять решение: пускаем или не пускаем (отдаём 401/403 или отдаем 200/404/...).
    1.3 Завести на сервере (в кэше или БД) словарь , при алгоритме проверки сессии добавить условие проверки на наличие записи в словаре.
    1.4 С нескольких - словаря не нужно.

    2
    2.1 Даже если пользователь входит через ВК всё равно нужно отдавать свои ключи сессий/шифрованные данные, а вот внутри данных уже хранить access_token от вк-шной сессии, так очень маленькая вероятность, что токен ВК утечет, а если утек ключ сессии, то действия будут ограничены только функционалом сайта.
    2.2 После расшифровки куки или данных по ключу сессии делать доп запрос на сервер ВК с токеном, который сохранился при аутентификации (access_token), запрос простой, например получить имя пользователя, если ВК выдал что токен просрочен или ошибку, то сессию закрывать или куки с данными обнулять.
    Ответ написан
    3 комментария