Контакты RSS 2.0

Разделы Сайта:

Кубтеле - о компании
Инструменты SEO
FreeBSD
Администрирование
Centos администрирование
Windows администрирование
Программирование для web

Аккаунт

Популярное:

Материалы по web программированию › Скрипт валидации mail.ru на php
В этой статье мы готовы представить Вам код PHP, предназначенный для валидации (проверки корректности) аккаунтов MAIL.RU

Скрипт валидации mail.ru на php

Разобравшись с этим кодом Вы сможете его без проблем переделать и адаптировать под любой другой Веб Сайт.Итак, собственно, код:
<?
function ValidateAccount($email,$password,$domain){
$host='auth.mail.ru';//сюда пишем домен
$path='/cgi-bin/auth';//сюда пишем путь
$param='Login='.$email.'&Password='.$password.'&Domain='.$domain;

$rn="\r\n";
$req='POST '.$path.' HTTP/1.0'.$rn;
$req.='Host: '.$host.$rn;
$req.='Content-Type: application/x-www-form-urlencoded'.$rn;
$req.='Content-Length: '.strlen($param).$rn;
$req.='Connection: close'.$rn;
$req.=$rn;
$req.=$param.$rn;
$req.=$rn;
$f=fsockopen($host,80) or die('not connected');
fputs($f,$req);
$h='';
while(!feof($f)){
$t=trim(fgets($f));
$h.=$t."\n";
}
fclose($f);

if(strpos($h,'Location')!==FALSE)
echo('Valid');
}

//Пример использования
if(ValidateAccount('login','qwerty','@mail.ru'))
echo('Корректный пароль');else
echo('Некорректный пароль');
?>

В коде реализована функция «ValidateAccount», которая выполняет проверку пары «E-Mail — пароль» и возвращает TRUE или FALSE в зависимости от результата. Пример позволяет легко понять, как использовать функцию. Для работы скрипта необходима PHP версии 4 или выше.

Как это работает?

Сервер MAIL.RU принимает данные методом POST по адресу http://auth.mail.ru/cgi-bin/auth. Логин передается в параметре «Login», пароль в «Password» и домен в «Domain». Обратите внимание, что домен начинается с собаки! В начале скрипта в переменные «host», «path» и «param» вносятся соответственно доменное имя сервера, путь к скрипту и все POST параметры через «&». При этом параметр от значения отделяется знаком «=». Далее на основе этих переменных формируется еще одна «req». Она содержит в себе корректные заголовки для передачи данных серверу методом POST. Затем с помощью функции «fsockopen» открывается соединение, с помощью «fputs» отправляются заголовки и, наконец, разбирается ответ в цикле и сохраняется в переменной «h». Далее происходит проверка наличия строки «Location» в ответе сервера, и если она там есть, данные признаются валидными. Почему именно «Location»? Дело в том, что при неверном вводе Вас оставляют на странице авторизации, а при верном — отправляют в Ваш аккаунт. Для отправки используется технология редиректа с помощью заголовка «Location», поэтому если редирект имеет место, то вход выполнен.

Другие системы.

Адаптировать скрипт для других систем очень просто. Первым делом определите адрес сервера, проверяющего введенные данные, метод их приема и параметры их передачи. Это легко сделать средствами разработки Вашего браузера. Затем внесите изменения в начале кода. Далее замените код проверки наличия подстроки на код отображения строки «h». Поэкспериментируйте с разными данными и определите отличия ответа сервера при верных и неверных данных. Далее на основе этого подкорректируйте проверку.

Зачем это нужно?

Этот скрипт предназначен с целью обучения продвинутым приемам PHP. Разобравшись с ним Вы научитесь отправлять POST запросы на другие сайты и получать ответы, что является очень важным навыкам в работе с сетью.
скачать dle 10.3фильмы бесплатно
Добавил: admin › 28-12-2014, 13:40
› 0 комментария › печатькатегория
Другие новости по теме
  • AJAX — JS 21 века
  • Хороший стиль программирования на PHP
  • whois - agoy.su
  • whois - 23tps.ru
  • Установка утилиты sphinx FreeBSD

  • Кубтеле 350000, Россия, Краснодарский край, , город Краснодар,улица Айвазовского, д. 94, корп. А
    Продвижение сайтов,Регистрация доменов,Компьютерная системная интеграция
    8(861) 299-02-62, +7(903) 449-666-8