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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

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

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

    *Самостоятельные задания:
    1. Найти сайт с авторизацией
    2. Произвести авторизацию самостоятельно, используя метод формирования ключа
    3. Приложить скрин с полученным результатом
  • Дата отправки отчёта: 10 марта 2016 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: узнал на конкретном примере, как может происходить авторизация с помощью токена
  • Что было сложным: подобрать сайт где отработать урок
  • Комментарии: Мне очень понравилось делать то, что было рассмотрено в данном уроке. Большое спасибо Кириллу за его старания.
    Этого оказалось действительно достаточно, чтобы самостоятельно разобраться с авторизацией токеном на 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 за Сетевые технологии / Авторизация с формированием ключа




Оцени работу

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

6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Валера Луцевич  # Сетевые технологии / Авторизация с формированием ключа / 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. Если не понял мой комментарий, попробуй пересмотреть урок ещё раз, может быть станет понятнее! Удачи!


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

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

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


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

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


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

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


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

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



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Авторизоваться на сайтах, выходить, формирование ключа.
Трудности: Если и возникали, то решать их было интересно.
Все отлично урок +100)


Научился: научился по token входить на сайт
Трудности: Самое сложное найти сайт на котором есть такая
К сожалению при выполнении домашнего задания, столкнулся что сайты практически не используют вход по token-у. Или может я то то не понимаю?