• Есть ли возможность сбросить ATA пароль с жесткого диска?

    zmeyjr
    @zmeyjr
    Дисклеймер в профиле.
    Попробуйте конечно старый стандартный - “Seagate” + 25 пробела. Слишком просто и вряд ли ;-(
    Иначе только через serial кабель.
    Спросить в ближайшем сервисе.
    Забыть. Шкурка выделки не стоит.
    Ответ написан
    7 комментариев
  • Могут ли поисковые системы добавить ссылку на несуществующую страницу?

    @Heafy
    Да, могут.
    Страница существует - она попадает в индекс поисковых систем.
    После того как страница удаляется (возвращает 404, к примеру) то она удаляется из индекса спустя один-несколько апдейтов ПС,
    но тут нюанс, если вы эту страницу как-то закрыли от индексации (robots.txt например), то ПС не смогут узнать, что страница уже удалена и могут продолжить её показ в поиске.
    Ответ написан
    1 комментарий
  • Как организовать IP-телефонию через VPN?

    bk0011m
    @bk0011m
    Системный администратор
    На файрволе порты закрыты. Незнаю как у Cisco, но у Астериска на подключение используются порт 5060 а на разговор диапазон портов 10000:40000
    Если у вас открыть только один порт, то клиент подключиться, но поговорить не получится.
    Определите какие порты нужны и откройте их в файрволе
    Ответ написан
    4 комментария
  • Какая операционная система и среда виртуализации IT инфраструктуры актуальны для данного проекта?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    KVM. В каком виде вы его будете использовать (RHEV, Openstack, proxmox) - уже похрен =)
    Лучше научитесь руками его готовить, кстати.
    Ответ написан
    Комментировать
  • Как переназначить клавиши копировать / вставить и т.д.?

    JohnnyDv
    @JohnnyDv
    Это можно сделать любой программой, в которой можно переназначать клавиши. Например Mkey.
    Ответ написан
    Комментировать
  • Как разметить медленные сектора?

    merryjane
    @merryjane
    Системный администратор
    Посмотрите на MHDD:
    www.ihdd.ru/mhdd

    Но если на диске стали появляться сектора с задержкой в 500ms нужно уже задумываться о замене диска.
    Ответ написан
    Комментировать
  • Какой ГОСТ у php разработчика?

    Remmi
    @Remmi
    Не знаю, как насчёт средних компаний, но вот неплохой материал PHP: The Right Way
    https://getjump.github.io/ru-php-the-right-way/
    Ответ написан
    4 комментария
  • Каковы основные принципы регистрации и авторизации через социальные сети OAuth2?

    hbuser
    @hbuser Автор вопроса
    Отвечу сам себе.
    Здесь есть полезная конкретная информация о технической реализации.

    А если вкратце, то...

    Для авторизации, регистрации используется все та же таблица 'users'. Вместе с обычной регистрацией и авторизацией, когда при регистрации (в самом простом виде) в таблицу 'users' добавляются email, password и login пользователя, а при авторизации проверяется соответствие введенных login'а и password'а существующим в базе данных, аналогичным образом используется и регистрация/авторизация через социальные сети. Только в данном случае источником данных о пользователе для его регистрации является не непосредственный пользователь, который вводит данные в форму, а соц. сеть. Регистрация в данном случае достаточно прозрачная, т.е. не видна пользователю. Схема примерно следующая (без особенностей работы Oauth-протокола):


    1) Пользователь выбирает вход через соц. сеть.
    2) Происходит обращение к странице авторизации в этой соц. сети, если человек еще не авторизовывался там. После ввода данных, а если он ранее авторизовывался, происходит запрос на разрешение использования его данных.
    3) Если человек отказывается, то на этом конец. Если дает согласие, то выполняется перенаправление на указанную в настройках Oauth страницу сайта.
    4) У каждого пользователя в соц. сетях есть свой уникальный идентификатор, который можно запрашивать. Для своей таблицы 'users' нужно добавить пару дополнительных полей (например, вот такие): auth_via (enum('native, 'vk', 'mailru', '...')) - для обозначения типа регистрации пользователя, и social_id - здесь будет храниться уникальный идентификатор в соц. сети. Если нужно хранить какие-то специфические данные этого пользователя из соц. сетей, то можно создать доп. поля для этих данных.
    5) После того, как пользователь дал разрешение на использование его данных, необходимо запросить нужные данные от соц. сети, в т.ч. и идентификатор пользователя в соц. сети. Вот здесь и начинается невидимый процесс регистрации. Нужно проверить есть ли в БД пользователь с таким social_id, если нет, то вставляем social_id, данные пользователя из соц. сети, по необходимости, в БД. Все, пользователь зарегистрирован.
    Если же данные о пользователе есть, то необходимо запросить актуальные данные из соц. сети, сравнить их с теми, что в базе и если они изменились, то обновить их и в своей базе данных, если нет, то просто переходим к следующему шагу.
    6) Создается сессия с данными пользователя.

    Таким образом, к существующей таблице "родной" регистрации пользователей сайта присоединяется, условно говоря, таблица, поля, необходимые для регистрации/авторизации через соц. сети., и друг-другу они не мешают.

    ca4a4b263fd1424085988c9deaeb6d5b.png

    Для пользователя, зарегистрированного из соц. сети пароля и логина, естественно, нет. Они нужны для авторизации. А т.к. пользователь авторизуется с помощью своих логина и пароля в соц. сети, то и указывать здесь нечего. И еще, можно при авторизации, к запросу проверки логина и пароля, добавить условие

    'AND WHERE `auth_via`="native"'

    , чтобы исключить пользователей, зарегистрированных из соц. сетей.

    Как видно, для каждого пользователя в таблице создается внутренний (внутрисайтовый, если так можно выразиться) первичный, автоинкрементный ключ. Соответственно, нет разницы для логики сайта между пользователем, зарегистрированным через соц. сеть и через сайт. Если говорить об интернет-магазине, то, для привязки заказов к пользователю, можно использовать единый, внутренний идентификатор ID.
    Ответ написан
    3 комментария