Ваш ключ: необходима авторизация | MyProxy - бесплатный обменник валидных прокси между пользователями форума.

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

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

Войдите для ответа
  1. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    Привет, ребзя! Сегодня будем делать супер-пупер форму авторизацию, которая будет проверять введенные данные с аккаунтом от вашего форума. Код будет универсален для всех форумов на движке 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 = "[URL]http://site.com[/URL]"; // тут типа реферер для прикола
                            req.KeepAlive = true;
                            if (req.Post("[URL]http://site.com/login/login[/URL]", "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 #1
    ShowDI нравится это.
Загрузка...
Похожие темы
  1. Coool
    Ответов:
    1
    Просмотров:
    754
  2. Coool
    Ответов:
    5
    Просмотров:
    693
  3. ERROR404
    Ответов:
    3
    Просмотров:
    183
  4. ERROR404
    Ответов:
    2
    Просмотров:
    184
Top