PHP和AJAX登录脚本足够安全吗?

时间:2015-06-28 14:29:45

标签: php jquery ajax login

我想使用ajax(使用jquery)在我的网站上创建动态登录。 现在一切都完成了,一切都运作良好。 我的问题是,我不知道,如果一切都安全(足够)使用它,就像它现在一样。

我的ajax脚本:

//LOGIN
$(function(){
  var mail;
  var password;
  $("body").on("click", ".sign-in", function(event){
    mail = $('#login-mail').val();
    password = $('#login-password').val();
    //ajax
    $.ajax({
      type: "POST",
      async: true,
      url: '/index.php',
      data:  { 'mail': mail,'password': password},
      success: function (msg)
        {

          if($(msg).filter('.logged-in').html() == 'success'){
            window.location.replace('/timeline.php')
          }else{
            $('input').css('border','0.1rem solid #EB5757');
            $('.login-failed').html('Falsche E-Mail oder / und Passwort !');
          }
        },
      error: function (err)
      { alert(err.responseText)}
    });
  });
});

这背后的逻辑: Ajax发送用户并传递给PhP页面:

if(isset($_POST["mail"]) && isset($_POST["password"])){
  //$mU->hashPassword($_POST['password']);
  if($mU->loginUser($_POST["mail"],$_POST["password"]) == true)
  echo '<div class="logged-in">success</div>';
}

$mU->loginUser($_POST["mail"],$_POST["password"]) == true如果属实,一切都很好。然后脚本&#34; echos&#34;成功。 在我的ajax成功函数中,jquery检查div的内容。

我希望你知道我的意思,因为很难解释我的问题&#34;。 我的脚本安全吗?我能做得更好(安全)?

2 个答案:

答案 0 :(得分:0)

好吧,如果我用/timeline.php替换登录网址最后一段(例如/login.php),这会显示你的“登录保护”时间线,你的脚本就不安全了。通常,某些会话变量(在成功验证期间设置)确定页面是否可访问。

答案 1 :(得分:0)

是的,它是安全的,你正在使用你的PHP作为api。你可以从javascript传递密钥,使其更安全,并保护csrf。

相关问题