За последние 24 часа нас посетили 18252 программиста и 1628 роботов. Сейчас ищут 1715 программистов ...

Вопрос по авторизации mail.ru

Тема в разделе "PHP для новичков", создана пользователем Marina Guleeva, 5 ноя 2016.

  1. Marina Guleeva

    Marina Guleeva Новичок

    С нами с:
    24 окт 2016
    Сообщения:
    10
    Симпатии:
    0
    Код (Text):
    1. function checkMailruAuth($email, $password, $proxy = NULL) {
    2.  
    3.     $allowed_domains = array('mail.ru', 'inbox.ru', 'bk.ru', 'list.ru');
    4.  
    5.     if($password == false) {
    6.         $result = array('error'=>'1', 'email'=> $email, 'password'=> $password, 'status'=>'Не указан пароль');
    7.         return $result;
    8.     }
    9.  
    10.     if($email == false) {
    11.         $result = array('error'=>'2', 'email'=> $email, 'password'=> $password, 'status'=>'Не указан e-mail адрес');
    12.         return $result;
    13.     }
    14.  
    15.     $split = explode('@', $email);
    16.     if((count($split) == 1) || ($split == FALSE)) {
    17.         $result = array('error'=>'2', 'email'=> $email, 'password'=> $password, 'status'=>'Не указан e-mail адрес');
    18.         return $result;
    19.     }
    20.  
    21.     $domain_split = explode('.', $split[1]);
    22.     $username = strtolower($split[0]);
    23.     $domain = strtolower($domain_split[0]);
    24.  
    25.     if(!in_array(strtolower($split[1]), $allowed_domains)) {
    26.         $result = array('error'=>'3', 'email'=> $email, 'password'=> $password, 'status'=>'Указан неизвестный домен '.strtolower($split[1]));
    27.         return $result;
    28.     }
    29.  
    30.     $data = array(
    31.         'login_from' => '',
    32.         'lang' => '',
    33.         'setLang' => '',
    34.         'Login' => $username,
    35.         'Domain' => $domain . '.ru',
    36.         'Password' => $password,
    37.         'level' => '1'
    38.     );
    39.  
    40.     $preg_mask = '/<meta http-equiv="refresh" content="0;url=(.*?)">/is';
    41.     $res = post('https://auth.mail.ru/cgi-bin/auth', $data, NULL, $proxy);
    42.     $preg_res = preg_match($preg_mask, $res, $items);
    43.  
    44.     if (strpos($items[1], 'fail=1') !== false) {
    45.         if (strpos($items[1], 'captcha=1') !== false) {
    46.             $result = array('error'=>'5', 'email'=> $email, 'password'=> $password, 'status'=>'Указан неверный логин или пароль, CAPTCHA активирована');
    47.             return $result;
    48.         } else {
    49.             $result = array('error'=>'4', 'email'=> $email, 'password'=> $password, 'status'=>'Указан неверный логин или пароль');
    50.             return $result;
    51.         }
    52.     }
    53.  
    54.     if ($items[1] == 'https://e.mail.ru/cgi-bin/msglist?back=1') {
    55.         $result = array('error'=>'0', 'email'=> $email, 'password'=> $password, 'status'=>'Вход выполнен');
    56.         return $result;
    57.     }
    58.  
    59. }  
    Есть функциия, как мне задать проверку этой функции допустим

    $mail1="1"
    $mailpass="pass"

    Если майл и пасс верны то
    echo true

    если нет то false