【问题标题】:get current user and save to mysql获取当前用户并保存到mysql
【发布时间】:2013-01-28 14:41:06
【问题描述】:

根据建议和对我需要什么的更好理解,我改变了我的问题:

我的网站受 .htaccess 保护。我试图获取当前用户和其他一些变量并将它们保存到 MySQL 数据库。除了当前用户部分之外,一切正常。

这是我的代码:

<?php

            $_SERVER["PHP_AUTH_USER"] = "rep";
            $hostname = "hostname";
            $username = "username";
            $dbname = "dbname";

        $password = "password";
            $usertable = "usageStats";
            $yourfield = "your_field";


$con = mysql_connect($hostname, $username, $password);
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db($dbname, $con);

$sql="INSERT INTO usageStats (Bid, PRid, User)
VALUES
('$_POST[BID]','$_POST[branding]','$_POST[rep]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);
?>

我知道以下都是错误的。应该如何传递当前用户而不是 $_POST[rep]?

黄:

$_SERVER["PHP_AUTH_USER"] = "rep";

'$_POST[rep]'

【问题讨论】:

  • 您使用什么类型的身份验证?是基本认证吗?
  • 不要依赖隐藏字段进行身份验证。这很容易被欺骗。
  • @Darin Dimitrov 是的,我正在使用基本身份验证。
  • @Olaf Dietsche “不要依赖隐藏字段进行身份验证”是什么意思我不使用表单登录用户,而是在用户登录后显示表单我想设置“currentUser”的值,以便它通过表单提交传递用户名。还是我误会了你?
  • 如果此隐藏字段是唯一标识用户的标记,其他人可以使用此隐藏字段发送请求,声称自己是您网站的用户。

标签: php mysql .htaccess post


【解决方案1】:

如果您使用Basic Authentication,则无需显式发送用户名。浏览器将发送它,您可以使用PHP_AUTH_USER 服务器变量访问它:

$_SERVER['PHP_AUTH_USER']

还可以查看文档中的 HTTP Authentication 文章。

【讨论】:

  • 这看起来正是我所需要的,今晚晚些时候试试并更新,谢谢!
  • 达林,我尝试实施您的建议,但我无法正确接听电话。你介意看看我上面的编辑吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-23
  • 2012-06-15
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
相关资源
最近更新 更多