小网站的身份验证,例如?

时间:2011-03-21 19:13:58

标签: php javascript authentication login


我需要登录才能让10名学生查看教育资料。简单就是好。

如果学生正确登录,也许只是重定向到一个页面。 您可以向我发送链接或示例或最佳教程吗?

我被告知单独的JavaScript不起作用,所以下一个最简单的事情是首选。 如果有一个例子,我不必重命名我的所有页面'php',那会更好。
谢谢,

4 个答案:

答案 0 :(得分:1)

当我学习使用PHP进行安全登录时,我使用了这个。

http://www.devshed.com/c/a/PHP/Creating-a-Secure-PHP-Login-Script/1/

发现它很有帮助。

答案 1 :(得分:1)

...简单

创建一个名为functions的文件并插入以下内容:

session_start();

$_GLOBALS['users'] = array(
    //'username' => 'password'
    'robert' => 'my_pass'
);

function isAuthed()
{
    if(empty($_SESSION['logged_in']))
    {
        if(!empty($_REQUEST['username']) || !empty($_REQUEST['password']))
        {
            if(isset($_GLOBALS['users']) && is_array($_GLOBALS['users']))
            {
                if(isset($_GLOBALS['users'][$_REQUEST['username']]) && $_GLOBALS['users'][$_REQUEST['username']] === $_REQUEST['password'])
                {
                    $_SESSION['logged_in'] = true;
                    return true;
                }
            }
        }
    }else
    {
        return true;
    }
    return false;
}

然后在您的安全页面中执行:

if(!isAuthed())
{
    die("You're not authorized to see this page");
}

并在您的登录页面上创建一个表单,将您的用户名,密码发送到您的授权网站区域

注意:这不是复制和过去的代码,仅供参考。

答案 2 :(得分:0)

这取决于你正在尝试做什么。如果你想要一个纯粹的JS登录系统,你可以做一些相当简单的事情,例如XOR带有密码的重定向页面,将其存储在页面中,然后当他们输入密码时再次对它进行异或。

如果你想要一个真正的登录系统,你需要一个后端运行一些服务器(如果你正在尝试学习JavaScript,可能是Node.js),某种类型的数据库(例如MySQL),存储在该数据库中的用户

前端javascript可能负责通过ajax验证登录。使用jQuery,如:

function validateLogin(user, pass, successCallback, errorCallback){
    $.get('/login', {user: user, pass:pass}, function(data){
        if(data.status == 'success'){
            successCallback();
        }else{
            errorCallback();
        }
    }
}

答案 3 :(得分:0)

你可能"做"如果你做了某种调用php页面的AJAX函数,那么使用JavaScript,然后返回你的值。这可能有效,而且很多网站实际上都在进行登录。因此,您的客户不必重命名他们的网站,您只需在php页面上设置一个登录数组。

这根本不安全,但它可以正常工作。

我想你会做这样的事情(我将使用jQuery,因为使用它更容易做Ajax。它非常容易使用,如果你现在要学习Javascript,现在可能更好地了解基础知识,然后使用像jQuery这样的框架库。

$(document).ready(function(){
  $("#NAME-OF-SUBMIT-BUTTON").submit(function(){
    var username = $(this).find("#username");
    var password = $(this).find("#password");
    $("NAME-OF-DIV-FOR-RETURN").load('login.php', {['parameters']:,[username,password]},function(responseText){
      if(responseText == 'SUCCESSFUL-RESPONSE-TEXT'){
        $("#NAME-OF-FORM").html("Login Successful");
      }
    });
  });
});

当然,你想要在你的php页面上设置一个会话变量或cookie,以表明用户已经登录。再次,这不是很安全,但它是什么我会这样做,如果它像家庭作业或只是SUPER临时。当然,我建议在PHP的原始页面上的数组中使用硬编码的用户名和密码,如果你要临时使用回发本身。使用Javascript和Ajax似乎有点多了。

但是,你要求了!