Загрузка...

Авторизация через форум Xenforo C#

Тема в разделе C# создана пользователем RaysMorgan 25 авг 2016. 3761 просмотр

  1. RaysMorgan
    RaysMorgan Автор темы 25 авг 2016 https://lolz.live/support-tickets/open 51 811 7 мар 2013
    Привет, ребзя! Сегодня будем делать супер-пупер форму авторизацию, которая будет проверять введенные данные с аккаунтом от вашего форума. Код будет универсален для всех форумов на движке Xenforo, кроме тех, где стоит крутилка или блейзи

    Подготовьте вручную форму, подобную этой:
    [IMG]


    Главное, что нам нужно, это - текстовые поля для логина (назовем элемент как login) и пароля (password) и кнопка авторизации (authBtn).

    Подключаем наш любимый xNet: using xNet;

    Вешаем функцию на кнопку авторизации (два раза кликаем по кнопке "Авторизоваться").
    Для начала сделаем легкую проверочку данных от случайных или тупых нажатий:
    Код

    if (login.Text.Length < 3 | login.Text.Length > 32 | password.Text.Length < 6 | password.Text.Length > 32)
    {
    MessageBox.Show("Неправильный логин или пароль");
    }

    [IMG]

    Здесь мы проверяем длину логина и пароля, в случае невыполнения условия, выдаем ошибку.
    Да, тру парни скажут, используйте регулярку!!!!11 Но и смысл от неё. Проехали короче.

    Далее пишем основной код (в той же функции):
    Код

    else
    {
    try
    {
    using (HttpRequest req = new HttpRequest())
    {
    req.AllowAutoRedirect = false; // запрещаем редирект, ибо проверка на валид идёт по коду ответа (200 или 301-302)
    req.UserAgent = Http.ChromeUserAgent();
    req.Referer = "http://site.com"; // тут типа реферер для прикола
    req.KeepAlive = true;
    if (req.Post("http://site.com/login/login", "login=" + login.Text + "&register=0&password=" + password.Text + "&remember=0&cookie_check=0&redirect=/&_xfToken=", "application/x-www-form-urlencoded").HasRedirect)
    {
    // Если мы тут, значит акк валид, делаем некие махинации, типо открытие второй формы
    MyProxy_Config.s_login = login.Text;
    this.Hide();
    main mainForm = new main();
    mainForm.Show();
    }
    else MessageBox.Show("Неправильный логин или пароль");

    }
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }

    }

    Если у вас всё получилось, то вы ПРОСТА ТОП (НЕТ)
    Вопросики ниже пишите, хотя какие могут быть вопросы?! Как подключить xNet?
     
    25 авг 2016 Изменено
  2. phoons
    Вот это реально годно, спасибо Еррорчк <3
     
  3. MFTCODE
    MFTCODE 30 сен 2017 Заблокирован(а) 255 10 сен 2017
    написать ****форс? я так на p:boss:-hack писал ****
     
  4. meaqese
    meaqese 30 сен 2017 267 18 окт 2016
    Не, не для ****форса. Можешь скинуть исход , я просто рукожоп.
     
  5. MFTCODE
    MFTCODE 30 сен 2017 Заблокирован(а) 255 10 сен 2017
  6. pavellevshic
    А сейчас это работает? и с xen 2.0 как быть ?
     
  7. SidoyDed
    SidoyDed 2 дек 2018 Заблокирован(а) 10 5 июл 2018
    А как палучить группу того кто вошёл?)
     
Загрузка...
Top