Загрузка...

Authorization via the Xenforo C# forum

Thread in C# created by RaysMorgan Aug 25, 2016. 3769 views

  1. RaysMorgan
    RaysMorgan Topic starter Aug 25, 2016 Че скажете 54,035 Mar 7, 2013
    Привет, ребзя! Сегодня будем делать супер-пупер форму авторизацию, которая будет проверять введенные данные с аккаунтом от вашего форума. Код будет универсален для всех форумов на движке Xenforo, кроме тех, где стоит крутилка или блейзи

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


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

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

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

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

    [IMG]

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

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

    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?
     
  2. phoons
    Вот это реально годно, спасибо Еррорчк <3
     
  3. MFTCODE
    MFTCODE Sep 30, 2017 Banned 255 Sep 10, 2017
    написать ****форс? я так на p:boss:-hack писал ****
     
  4. meaqese
    meaqese Sep 30, 2017 265 Oct 18, 2016
    Не, не для ****форса. Можешь скинуть исход , я просто рукожоп.
     
  5. MFTCODE
    MFTCODE Sep 30, 2017 Banned 255 Sep 10, 2017
  6. pavellevshic
    А сейчас это работает? и с xen 2.0 как быть ?
     
  7. SidoyDed
    SidoyDed Dec 2, 2018 Banned 10 Jul 5, 2018
    А как палучить группу того кто вошёл?)
     
Top
Loading...