2012-01-18 101 views
1

首先让我说我刚刚在编码方面很新,但是现在已经做了半年左右的活动。通过会话通过ahref登录?

我来碰到一个问题,我无法在这里找到任何解决方案,或者在那里。

我想让:

  1. 做一个用户,每个人都可以通过点击超链接访问(AHREF)
  2. 让它登录该帐户,一旦你点击链接
  3. 这对都必须在一个会话中发生

但是,我被困在最后一部分,主要也是因为我想隐藏数据。

所以我创建了我的用户,给了它一个密码,创建了链接,并且会话将开始,但是,我无法将此链接转移到实际登录中,如何如何发送它用户名+密码自动?

回答

0

通过JavaScript,你可以使用onLoad事件,如果我没有记错,使这个JavaScript发出一个请求。 其他方式将是散列密码的MD5(或任何你使用它们保存在数据库),并使其与GET参数正常链接像http://localhost/home.php?func=login&username=foo&password=md5(bar

+0

谢谢我今晚会研究一下,看看我能否做到这一点,非常感谢您的快速回复! – 2012-01-18 13:35:28

0

我假设你想创建一个演示用户在appliacation

创建一个专用的登录功能此用户,它不会有任何参数,将在函数体硬编码的用户名和密码

如你有standardLoginFunction(用户名,密码)和demoLoginFunction ()与身体:

demoLoginFunction() { 
    demo_username = demo; 
    demo_password = demo; 
    standardLoginFunction(demo_username, demo_password); 
} 

现在你绑定demoLoginFunction到您的网站的适当的元素,这样一来你不透露任何数据给网站的访客

0

你将不得不作出的链接“模拟”您的登录逻辑。例如,如果您的登录链接会是什么样子?login.php中键= KnockKnock,您的login.php脚本会做这样的事情:

if(isset($_GET['key']) && $_GET['key'] == 'KnockKnock') { 
    // Login triggered 
    $user = 'global'; 
    $password = 'secret'; 

    // From here, continue with your "default" logic, like: 
    $query = "SELECT `id` FROM `users` WHERE `username`='" . mysql_real_escape_string($user) . "'" . 
      " AND `password`='" . md5($password) . "' LIMIT 1"; 
    if(mysql_num_rows(mysql_query($query)) == 1) { 
     // User found! 
     session_start(); 
     // Rest of logic here 
    } 
} 

这是一言以蔽之一个非常简化程序使用链接进行自动登录

+0

真棒,而且很容易实现,会让你知道如果这会对我有用,我会在完成工作后在今晚尝试它。非常感谢! – 2012-01-18 13:36:13

+0

如果可能,迁移到比MD5或SHA-1更好的替代方案,现在认为它们不安全。 – 2017-06-09 07:46:01

+0

@MatthiasDieterWallnöfer没错,但这个例子已经非常过时了。 mysql_函数不再存在。 – Oldskool 2017-06-09 12:26:48