Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Сетевые технологии / Авторизация с формированием ключа

  • На уроке мы узнаем что такое токен, посмотрим как формируется ключ для подключения к сайту.
    Получим токен из интернет - страницы, а так же напишем метод формирования ключа.
    Сможем самостоятельно, программно авторизоваться, используя метод формирования ключа.
    *Самостоятельные задания:
    1. Найти сайт с авторизацией
    2. Произвести авторизацию самостоятельно, используя метод формирования ключа
    3. Приложить скрин с полученным результатом
  • Дата отправки отчёта: 10 марта
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: узнал на конкретном примере, как может происходить авторизация с помощью токена
  • Что было сложным: подобрать сайт где отработать урок
  • Комментарии: Мне очень понравилось делать то, что было рассмотрено в данном уроке. Большое спасибо Кириллу за его старания.
    Этого оказалось действительно достаточно, чтобы самостоятельно разобраться с авторизацией токеном на http://dev.by/login.
    При этом name input с токеном здесь "authenticity_token"
    и в Form data передается больше параметров и с другими названиями, а именно
    utf8=%E2%9C%93
    &authenticity_token=
    &user%5Blogin%5D=
    &user%5Bpassword%5D=
    &user%5Bremember_me%5D=0
    &commit=%D0%92%D0%BE%D0%B9%D1%82%D0%B8.
    Я знаю, что через % передаются символы, например %5B Это [ а  % 5D это ]
    но тут получился интересный момент, т.к. мой пароль был на русском то он также должен передаваться в виде такой последовательности %89%D0%BA%D0%B2%D1%83%D0%BA12
    и вот как её получить в C# не знаю, острой необходимости пока в этом нет, поэтому может быть когда-нибудь потом узнаю.

    Отметил бы, что в уроке как-то размытым получился момент, что токен мы получаем в коде страницы именно до ввода логина и пароля, а только потом отправляем его в http запросе вместе с логином и паролем в момент авторизации.
    Просто из объяснения я этого как-то не услышал, а потом сам задумавшись понял.

    И последнее. Стало интересно какие же вообще методы авторизации самые популярные и насколько актуален и часто используется такой как здесь с токеном. Простых и понятных ответов на эти вопросы не нашел, везде перечисляется тьма всего. Вобщем, будет сильно нужно, как-нибудь узнаю)
  • Оценка видео-уроку:
Отчёт от 4889 за Сетевые технологии / Авторизация с формированием ключа




Оцени работу

 
Сохранить страницу:

24. Оля
Оля
ответить
→  Валера Луцевич  # Сетевые технологии / Авторизация с формированием ключа / 2016-03-11 13:48

Валера, очень классно позанимался, рада что тебе был интересен и важен был этот урок! :)


6452. Lik_Kirill
Lik_Kirill
ответить
→  Валера Луцевич  # Сетевые технологии / Авторизация с формированием ключа / 2016-03-10 19:37

Ну вот видишь, Валера! Отличная находка!!!


4889. Валера Луцевич
Валера Луцевич
ответить
→  Lik_Kirill  # Сетевые технологии / Авторизация с формированием ключа / 2016-03-10 19:14

Короче, интересное явление. Не собираясь думать об вышеуказанной теме,  пришел сейчас вечером домой, сел за компьютер, случайно вспомнил о чем мы говорили, подумал что ведь у нас тот как будто процесс преобразования русских символов в URl, соответственно стало понятно на какую тему искать запросы. Найдя что-то от MSDN, понял что тут скорее всего подойдет что-то из методов класса WebUtility. Посмотрев, что он умеет в object browser я выбрал метод UrlEncode() и это оказалось именно то о чем я говорил что не знаю.


4889. Валера Луцевич
Валера Луцевич
ответить
→  Lik_Kirill  # Сетевые технологии / Авторизация с формированием ключа / 2016-03-10 12:07

Ой, я заметил, что отправил ответное сообщение никому, так что удалил, сейчас снова отправляю:

спасибо,  коментарий я отлично понял. Правда я не очень понял, что понятно из моего отчета. Видимо, я не достаточно конкретно выразился или сейчас неверно понимаю, что побудило тебя написать мне его.
Вобщем, из чего состоят элементы я прекрасно запомнил из урока, там ведь было показано, что хром может распрасить в более удобный вид.
И я не говорил, что у меня что-то не работает.
Я передавал все эти % в _data сразу и да, с System.Text.ASCIIEncoding.ASCII.GetBytes(_data) все работает.
И имел ввиду, что если взять какой-нибудь textbox и с него считать текст(если он русский), то не знаю как превратить его в вид с % перед тем как положить в _data.
И на всякий случай, добавлю, что любые русские символы с помощью System.Text.ASCIIEncoding.ASCII.GetBytes() превращаются в 63


6452. Lik_Kirill
Lik_Kirill
ответить
→  Валера Луцевич  # Сетевые технологии / Авторизация с формированием ключа / 2016-03-10 11:17

Тебе нужно получить строку: utf8=%E2%9C%93&authenticity_token=VgbAEm3jsJ%2BUaFXfT9uSLhNOBbnCWCXqRo3iHgmbucs%3D&user%5Blogin%5D=qwerty&user%5Bpassword%5D=poiuyt&user%5Bremember_me%5D=0&commit=%D0%92%D0%BE%D0%B9%D1%82%D0%B8
если рассмотришь Form Data внимательнее то поймешь из чего состоят эти элементы
utf8:✓
authenticity_token:VgbAEm3jsJ+UaFXfT9uSLhNOBbnCWCXqRo3iHgmbucs=
user[login]:qwerty
user[password]:ytrewq
user[remember_me]:0
commit:Войти
Просто их подставляй, а перевод в ASCII всё за тебя сделает сам. Я, правда, не знаю что делать с "галочкой", но надо пробовать, это обычный ключ, просто состоящий не только из токен-логин-пароль, но ещё и плюс utf8-remember-commit

P.S. Если не понял мой комментарий, попробуй пересмотреть урок ещё раз, может быть станет понятнее! Удачи!


  • Отчёт оценивали:
    689Igorenzia+1   1Евгений Витольдович+1   8795Dmitriy0   4182Farid+1   3506Алексей|BrisK|Кривицкий+1   6452Lik_Kirill+1   1101Аркадий+1   6925Артём+1   5649Максим Лапшинов+1   3625Михаил0   4992Николай+1   7645Александр Львович+1   5760Мариша +1   8886Михаил Ермишин+1   4395Денис+1   9427Иван Алексеевич+1   459Сергей Сергеевич+1   4956Сергей+1   4699Сергей Витальевич+1   9237Mais+1   791Валерий+1   5369Archi+1   24Оля+1  

Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Авторизоваться с использованием токена. Использовать инструменты разработчика в браузере.
Трудности: Найти сайт с авторизацией через токены.
Нашел сайт, но токен там каждый раз один и тот же. Для тренировки подойдет - сделал авторизацию через токен на этом сайте.
Научился: 1) Узнал что при авторизации используется уникальный ключ; 2) Как сделать авторизацию, используя полученный ключ; 3) Как просмотреть пароль после аутентификации.
Трудности: Найти сайт с ключом. Немало времени ушло на поиски подходящего сайта, т.к. там ключ не формировался. Возможно я не понял и ключ был в другом виде. Но тем не менее нашел один сайт, который хоть что-то напоминает похожее на пример из видеоурока.
Иногда слышу, что на сайте используется какой-то ключ. То 256-битный, то 512. Тот ли ключ упоминается в видеоуроке?