JavaScript登录页面带有PHP身份验证脚本 - 哪个实现是最好的



我为我的HTTP文件服务器编写了一个工作的PHP身份验证脚本。现在,我想编写一个带有一些不错图形的登录页面。我通常在HTML5,Javacscript和CSS中写下我的页面。我不确定如何实现PHP身份验证脚本。到目前为止,我有两种我认为我知道的方式:

  1. 在HTML5和JavaScript中编写登录页面,在用户输入输入框中的名称/密码之后,使用AJAX调用php脚本,将用户名和密码传递给脚本,并具有php返回true或false,取决于true或false。关于该用户是否已进行身份验证。问题是,我不知道如何获得php返回true或false javascript。

  2. 编写一个PHP前控制器模型,其中index.php加载html5,javascript和CSS用于图形,如果对用户进行身份验证,则重定向到HTML文件服务器的普通index.html文档。这样做的问题是,我不熟悉将PHP用作前控制器,我不知道我是否可以用JavaScript动态更改元素以获得特殊效果,就像是正常的HTML5页面一样。

您可以使用jQuery库进行AJAX请求。请求将以这种方式看(是JavaScript):

function submitLogin(enteredUsername, enteredPassword) {
  $.post('login.php', {username: enteredUsername, password:enteredPassword},   
  function(response) {
      if (response.result == true) {
         // success code here
      } else {
         // fail code here
      }
  }, 'json');
}

login.php文件应具有此代码:

<?php
$username = $_POST['username'];
$password = $_POST['password'];
//... check username and password here
echo json_encode(array('result' => true)); // this is response, true or false
exit;
?>

在freeNode上进行了很多询问之后,我发现最好将文档隐藏在Web根部之外,并在用户身份验证索引后,在Web根部之外将文档隐藏起来.php。

我可以使用nginx中的auth_basic,但是我想要更强的加密或哈希 - 因此,服务器脚本语言。我想像Facebook这样的大鱼类使用Web服务器身份验证,例如Auth_basic模块...但是更定制和开发的版本。因此,在我的情况下,我将将文件放在Web根部之外。

我建议第一个解决方案。您可以使用http://api.jquery.com/jquery.post/要使您的PHP返回到JavaScript。

相关内容

  • 没有找到相关文章