使用远程用户自定义PHP代码

时间:2013-09-23 20:00:51

标签: php client

我试图根据所使用的Windows登录向用户提供一个页面。关键点绝对不是安全性,而是人们希望它很舒服,因此他们打开浏览器并查看它们的意图。我想到了$ _server ['remote_user'],但这是空的。我google了很多,发现只需要认证或会话的东西,都需要很多小时的工作;)

我正在使用WAMP,并且不希望在系统上更具体,因为我希望它明天也可以运行,我更喜欢脏解决方案。感谢您的评论。

bj

2 个答案:

答案 0 :(得分:0)

感谢您的评论,我至少为此特殊目的找到了可行的解决方案:

第一个文件使用WScript.Network读取Windows用户名,并发送包含用户名的表单。第二个将它写入会话var。黑暗又脏,但易于维护和处理...

文件1,session02.php:

<?php
    session_start();
?>

<form id="form_user_name" name="form_new_record" action="session03.php" method="post" accept-charset="ISO-8859-1">
    <input name="user_name" type="text" >
    <input type="submit" value="Submit">
</form>
<script type=text/javascript>
    var wscript_network=new ActiveXObject("WScript.Network");
    var user_name=wscript_network.UserName;
    form_user_name.user_name.value=user_name;
    form_user_name.submit();
</script>

File2,session03.php:

<?php
    session_start();
    $current_windows_user=$_POST['user_name'];
    $_SESSION['current_windows_user'] = $current_windows_user;
    echo "---".$_SESSION['current_windows_user']
?>

以后可以使用$ _SESSION ['current_windows_user']或$ current_windows_user

感谢大家!

答案 1 :(得分:-1)

您的问题有点不清楚,如果您要求使用PHP检查用户从Windows PC登录,则无法完成此操作。

但是,如果您想要使用简单(小安全性)HTML表单以及PHP和MySQL(都包含在* AMP中),我建议您执行以下操作:

在index.html页面上:

<form method="POST" action="validatelogin.php">
<input type="text" name="username" placeholder="Enter username" />
<input type="submit" value="Submit" />
</form>

在您的validatelogin.php页面上

session_start();
$dsn = "mysql:host=localhost;dbname=example;charset=utf8";
$opt = array(
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
);
$pdo = new PDO($dsn,'root','password', $opt);
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
    $username = $_POST['username'];
$stmt->execute(array(
                                ':username'=>$username,
                                ));
$exist = $stmt->fetch();
if (!empty($exist)) {
    $_SESSION['id'] = $exist["id"];
}

最后一步是最关键的:

此设置假设您有一个名为example的数据库,使用username:root password:password的登录凭据。此示例还假定您在该数据库中创建了一个名为users的表。

该表将具有以下设置:

2行

第一行名称:id

第一行类型:int

第一行A_I:已检查

第二行名称:用户名

第二行类型:文字

从这里你可以在数据库中插入你希望人们使用的用户名,我希望这有帮助。