За последние 24 часа нас посетил 22701 программист и 1212 роботов. Сейчас ищут 727 программистов ...

"Неверный пароль" при авторизации

Тема в разделе "PHP и базы данных", создана пользователем Виталий23232, 21 авг 2018.

Метки:
  1. Виталий23232

    Виталий23232 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    1
    Симпатии:
    0
    Сделал такую авторизацию. До того зарегистрировал на "сайте" пользователя, его данные сохранились в БД. Логинюсь по е-мэйлу и паролю - вылетает "wrong password",хоть и все правильно.


    $.ajax({
    type: "POST",
    url: "include/auth.php",
    data: "email="+auth_email+"&pass="+auth_pass+"&rememberme="+auth_rememberme,
    dataType: "html",
    cache: false,
    success: function(data) {

    if (data == 'yes_auth')
    {
    location.reload();

    }else
    {
    $("#message-auth").slideDown(400);
    $(".auth-loading").hide();
    $("#button-auth").show();

    }

    }
    });
    }
    });


    <?php

    if($_SERVER["REQUEST_METHOD"] == "POST")
    {

    include('db_connect.php');
    include('../functions/functions.php');

    $email = clear_string($_POST["email"]);

    $pass = md5(clear_string($_POST["pass"]));
    $pass = strrev($pass);
    $pass = strtolower("9nm2rv8q".$pass."2yo6z");

    if ($_POST["rememberme"] == "yes")
    {

    setcookie('rememberme',$email.'+'.$pass,time()+3600*24*31, "/");

    }

    $result = mysqli_query($link,"SELECT * FROM reg_user WHERE email = '$email' AND pass = '$pass'");
    If (mysqli_num_rows($result) > 0)
    {

    $row = mysqli_fetch_array($result);
    session_start();
    $_SESSION['auth'] = 'yes_auth';
    $_SESSION['auth_pass'] = $row["pass"];
    $_SESSION['auth_email'] = $row["email"];
    $_SESSION['auth_name'] = $row["name"];

    echo 'yes_auth';

    }else
    {
    echo 'no_auth';
    }
    }

    ?>
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    В этом коде нет фразы "wrong password".
    Никто не сможет тебе помочь если ты показываешь одно, а говоришь о другом.

    В любом случае, решается через отладку:
    Выводи промежуточные значения,
    пробуй выполнить SQL запрос с реальными значениями в phpmyadmin и т.д.

    http://phpfaq.ru/debug
     
  3. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    PHP:
    1. setcookie('rememberme',$email.'+'.$pass,time()+3600*24*31, "/");
    Сохранять в куках открытый пароль - опасная и небезопасная идея..) Тем более вот в таком варианте.
    Подменить будет не сложно, если найдут способ извлечь его.

    Логично, как мне кажется, сохранять логин/пароль для автоматического входа на сайт только в случае, если авторизация прошла успешна.


    PHP:
    1. $pass = md5(clear_string($_POST["pass"]));
    Вы уверены, что clear_string так необходим? ..)