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

使用远程用户自定义PHP代码,php,client,Php,Client,我正在尝试根据使用的windows登录名为用户提供一个页面。关键的一点肯定不是安全性,而是人们希望它舒适,所以他们打开浏览器,看看他们想看什么。我想到了$\u server['remote\u user'],但这是空的。我在谷歌上搜索了很多东西,只找到了一些似乎需要验证或会话的东西,这两种东西都需要很多小时的工作;) 我正在使用WAMP,不想对系统做更具体的描述,因为我希望它明天也能运行,我更喜欢脏的解决方案,而不是什么都不做。谢谢你的评论 bj您的问题有点不清楚,如果您要求使用PHP检查用户从

我正在尝试根据使用的windows登录名为用户提供一个页面。关键的一点肯定不是安全性,而是人们希望它舒适,所以他们打开浏览器,看看他们想看什么。我想到了$\u server['remote\u user'],但这是空的。我在谷歌上搜索了很多东西,只找到了一些似乎需要验证或会话的东西,这两种东西都需要很多小时的工作;)

我正在使用WAMP,不想对系统做更具体的描述,因为我希望它明天也能运行,我更喜欢脏的解决方案,而不是什么都不做。谢谢你的评论


bj

您的问题有点不清楚,如果您要求使用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>
最后一步是最关键的:

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

该表将具有以下设置:

2排

第一行名称:id

第一行类型:int

第一排A_I:选中

第二行名称:用户名

第二行类型:文本


从这里,您可以将希望人们使用的用户名插入到数据库中,我希望这会有所帮助。

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

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

文件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>

var wscript_network=新的ActiveXObject(“wscript.network”);
var user_name=wscript_network.UserName;
表单\用户名。用户名。值=用户名;
表单_user_name.submit();
文件2,session03.php:

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

稍后$\u会话['current\u windows\u user']或$current\u windows\u user都可用


谢谢大家

用户将通过“localhost”访问它吗?在这种情况下,您需要使用NTLM身份验证,因为默认情况下浏览器不会传输windows登录。IE在很早的时候就这样做了,但很久没有了。@kevin B.“NTLM认证是什么?”?(可能是愚蠢的)你可能需要潜入一些ActiveX…这给了我一个很好的提示,我会试试的。恐怕我还没有投票的机会。
<?php
    session_start();
    $current_windows_user=$_POST['user_name'];
    $_SESSION['current_windows_user'] = $current_windows_user;
    echo "---".$_SESSION['current_windows_user']
?>