Вход через AJAX / MySql / PHP - PullRequest
0 голосов
/ 09 апреля 2011

В основном я хочу проверить базу данных, чтобы увидеть, если имя пользователя и пароль совпадают, если это так, разблокируйте кнопку отправки.

Ответы [ 3 ]

2 голосов
/ 09 апреля 2011

Не знаю, правильно ли я вас понял, но в любом случае попробуйте:

HTML:

  <form method="post">
     Username <input type="text" id="username" name="username" />
     Password <input type="password" id="password" name="password" />
    <input type="submit" name="submit" id="submit" value="Login" />
 </form>

jQuery:

    $("#submit").hide();
    $.post("checkUsername.php", { username: $("#username").val(), password: $("#password").val() }, function(result) {
 if(result == "true") { $("#submit").fadeIn(fast); }

 });

Php (checkUsername.php):

if(mysql_num_rows(mysql_query("SELECT username,password FROM table WHERE username LIKE '". mysql_real_escape_string($_POST['username']) . "',password LIKE '".mysql_real_escape_string($_POST['password'])."'")))
    {
       echo "true";
    }
    else
    {

    echo "false";
    }
2 голосов
/ 09 апреля 2011
  1. Какой у вас вопрос?Вы на самом деле забыли задать один;)
  2. Вам нужно, как минимум, экранировать строки с помощью mysql_real_escape_string(), прежде чем вставлять их в запрос.В противном случае вы готовы для SQL-инъекции
  3. Сохранение паролей в виде простого текста, как правило, не рекомендуется. Хэш и соль .
  4. Уже есть библиотеки аутентификации, которые делают большую часть этого для вас и защищают вас от целого ряда других проблем, о которых вы еще не слышали.Не изобретайте колесо, которое было построено много раз прежде намного более опытными людьми.Оцените пакеты, такие как PEAR_Auth
0 голосов
/ 22 марта 2013

Вам следует избегать использования ключевого слова LIKE для приглашения на вход в систему, подобного этому, поскольку подстановочные знаки не затрагиваются mysql_real_escape_string. Пользователь может войти в систему с именем пользователя и паролем "%".

Смотрите следующее сообщение в блоге: http://blog.spiderlabs.com/2012/03/like-omg.html

Используйте = вместо LIKE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...