рд╣рдмрд░рд╛рдмреНрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдп

рд╕рднреА рдХреЛ рд╕реБрдкреНрд░рднрд╛рдд рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдмреНрд░рд╣рд╛рдм рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ!

рд╣реИрдмрд░ рдХреЗ рд▓рд┐рдП "рдХреНрд▓рдм рдСрдл рдЕрдирд╛рдо рд╕рд╛рдВрддрд╛ рдХреНрд▓реЙрдЬ" рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рд╣реЗрдмрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдерд╛ред рдбрд░реНрдЯреА рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕рдХреА рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓рд┐рдВрдХ рд░рдЦрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЧрдИ рдереА, рдЬрд┐рд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЙрдирдХреЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдереАред рд╣рдордиреЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ред

рдпрджреНрдпрдкрд┐ рдЕрдВрдд рдореЗрдВ рд╣рдмрд░рд╛рде рдкреБрд╕реНрддрдХрд╛рд▓рдп, рдЬрд┐рд╕ рд╡рд┐рд╖рдп рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрд╕реА рддрд░рд╣ рдХреЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ habra-adm.ru рдкрд░ рд╣реИ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдмрд░ рдкрд░ рдЕрдкрдирд╛ рдЙрдкрдирд╛рдо рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ, рджреЛрдиреЛрдВ рдореЗрд▓ рд░реЛрдмреЛрдЯ рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдЦрд╛рддреЗ рд╕реЗред рд╡рд╣ рд╣рдмрдкреНрд░реЛрд╕реНрдЯ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╡рд╣ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдмрд░рд╛рде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдФрд░ рднреА рд╕рд░рд▓ рджрд┐рдЦрддрд╛ рд╣реИ: рд╡рд╣ рдЕрдкрдиреЗ рдЙрдкрдирд╛рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ, "рд▓реЙрдЧрд┐рди" рджрдмрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдЙрд╕реЗ рд╣рдмрдкреНрд░реЛрд╕реНрдЯ рдкрд░ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╡рд╣ рдХреЗрд╡рд▓ "рд▓реЙрдЧрд┐рди" рд▓рд┐рдВрдХ рдкрд░ рдлрд┐рд░ рд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╣рдмрд░рд╛рде рдХрдиреЗрдХреНрд╢рди рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - рдпрд╣ GitHub рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

git clone https://github.com/kafeman/HabraAuth.git 

рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЦреБрдж HabraAuth.class.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдпрд╣ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

 <?php include('HabraAuth.class.php'); ?> 

рдЕрдм рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдлрд╝реЙрд░реНрдо рдмрдирд╛рдПрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣:

 <h1>   </h1> <form method="post"> <p>    :</p> <p> <input type="text" name="login"> <input type="submit" value=" !"> </p> </form> 

рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦреЗрдВ:

 //   ,    //        $config = array( //  callback- //        'callback' => 'http://localhost/sample/callback.php', //  //  - ,     ;-) 'salt' => 'qwerty', //   ,      //   -  ,        //       'cookies' => array( 'PHPSESSID' => '8ba44cc67a851d1c43d740c356665061', 'hsec_id' => 'c086a2c37f395cbb9aa7b064c8c712db', ), ); //    HabraAuth //       $habraAuth = new HabraAuth($config); //  Auth        $habraAuth->Auth($_POST['login']); //    ,      header('Location: http://habrahabr.ru/users/none/mail/'); 



рдЕрдм рдПрдХ рдХреЙрд▓рдмреИрдХ рдкреЗрдЬ рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдмрдкреНрд░реЛрд╕реНрдЯ рд╕реЗ рдЬрд╛рдПрдЧрд╛:

 <?php //       ,      if (empty($_GET['user']) || empty($_GET['hash'])) { header('Location: /sample/login.php'); exit(); } //   include __DIR__ . '/../HabraAuth.class.php'; // ,      $config = array('salt' => 'qwerty'); //    HabraAuth $habraAuth = new HabraAuth($config); //   if (!$habraAuth->CheckAuth($_GET['user'], $_GET['hash'])) { header('Location: /sample/login.php'); exit(); } // TODO -         echo ', ' . $_GET['user'] . ',   ?'; ?> 




рдкрд░рд┐рдгрд╛рдо рд▓рдЧрднрдЧ OAuth :-) рд╣реИ

рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рдЬреЛ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддреА рд╣реИ ReadOnly рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рдЬрддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ, рдЬреИрд╕реЗ рдорд╛рд╕реВрдо рд╣реИрдмреНрд░реЛ-рд▓реЛрдЧреЛрдВ рдХреЗ рдирд╛рдо, рдЬреЛ рдкреАрдПрдо рдореЗрдВ "рд╕реНрдкреИрдо" рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдХреИрдкреНрдЪрд╛ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреЛрдмрд╛рд░рд╛ рд╕рдВрджреЗрд╢ рди рднреЗрдЬреЗрдВред

рдЕрджреНрдпрддрди : рдпрджрд┐ рдЖрдк рдпрд╣рд╛рдБ рд▓рд┐рдЦрддреЗ рд╣реИрдВ , рддреЛ рдЖрдк OAuth Habrahabr рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In157255/


All Articles