Advertisement
Guest User

Untitled

a guest
Mar 6th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. <form id="auth">
  2. <input type="password" id="pass" autofocus /><br/>
  3. <div id="err" style="display: none; color: red;">Кривой пароль</div>
  4. <button>Войти</button>
  5. </form>
  6. <script>
  7. auth.addEventListener('submit', function (evt){
  8. evt.preventDefault(); // отменяем действие по умолчанию
  9.  
  10. var xhr = new XMLHttpRequest;
  11. xhr.open('POST', '/ctrl.php', false); // отправляем синхронный запрос на сервер
  12. xhr.send('pass='+pass.value);
  13.  
  14. if( xhr.responseText == 'invalid' ){ // проверяем ответ
  15. err.style.display = ''; // выводим ошибку
  16. } else {
  17. location.href = xhr.responseText; // переходим на страницу
  18. }
  19. });
  20. </script>
  21.  
  22. <?php
  23. $pass = isset($_POST['pass']) ? trim($_POST['pass']) : '';
  24.  
  25. if( $pass == $secret ){
  26. echo "/secret-page.html";
  27. } else {
  28. echo "invalid";
  29. }
  30.  
  31. <?php
  32.  
  33. $valid_passwords = array ("login" => "pass");
  34. $valid_users = array_keys($valid_passwords);
  35.  
  36. $user = $_SERVER['PHP_AUTH_USER'];
  37. $pass = $_SERVER['PHP_AUTH_PW'];
  38.  
  39. $validated = (in_array($user, $valid_users)) && ($pass == $valid_passwords[$user]);
  40.  
  41. if (!$validated) {
  42. header('WWW-Authenticate: Basic realm="My Realm"');
  43. header('HTTP/1.0 401 Unauthorized');
  44. die ("Not authorized");
  45. }
  46.  
  47. // Тут мы пишем те
  48. echo "<p>Здравствуйте $user.</p>";
  49. echo "<p> Поздравляем, Вы успешно прошли авторизацию.</p>";
  50.  
  51. ?>
  52.  
  53. $('a').click(function(e){
  54. e.preventDefault();
  55. $.ajax({ type: 'POST',
  56. url: 'login-ajax.php',
  57. success: function(response){
  58. if (response == 'accept') {
  59. $('#do').submit();
  60. } else {
  61. $('div').fadeIn(400);
  62. }
  63. },
  64. error: function(response){
  65. $('div').fadeIn(400);
  66. }
  67. });
  68. });
  69.  
  70. <?php
  71.  
  72. $pass = ''; if (isset($_POST['pass']) { $pass = $_POST['pass']; }
  73.  
  74. /.. обезопасить входящие данные ../
  75. /.. сверить с базой ../
  76.  
  77. if ( %ПАРОЛЬ СОВПАЛ% ) { die('accept'); } else { die('error'); }
  78.  
  79. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement