php不同身份验证登录,PHP身份验证(入门) - php

我最近开始学习PHP。我建立了一个基本网站,并希望将其基本密码。如果有人能告诉我为什么这行不通,我将不胜感激。我知道这是行不通的,因为我已经尝试过了。我只是不明白为什么。

$user='user';

$pass='pass';

header('HTTP/1.1 401 Unauthorized');

header('WWW-Authenticate: Basic realm='.'hello');

if($_SERVER['PHP_AUTH_USER']==$user && $_SERVER['PHP_AUTH_PW']==$pass)

echo 'Authorized';

else

exit('Exiting');

?>

...

REST OF WEBSITE

...

我知道这样做的“正确”方法是这样的:

if(!isset($_SERVER['PHP_AUTH_USER']))

{

header('HTTP/1.1 401 Unauthorized');

header('WWW-Authenticate: Basic realm='.'hello');

exit('Exiting');

}

else

{

$user='user';

$pass='pass';

if($_SERVER['PHP_AUTH_USER']==$user && $_SERVER['PHP_AUTH_PW']==$pass)

echo 'Authorized';

else

{

header('HTTP/1.1 401 Unauthorized');

header('WWW-Authenticate: Basic realm='.'hello');

exit('Exiting');

}

}

?>

REST OF WEBSITE

如果有人至少可以指出我正确的方向,我将不胜感激。

参考方案

使用HTTP身份验证时,脚本将运行两次:第一次未设置$_SERVER['PHP_AUTH_USER'],并且您必须告诉浏览器该页面需要身份验证。然后浏览器重新加载页面,尽管这次$_SERVER['PHP_AUTH_USER']包含用户提供的用户名和$_SERVER['PHP_AUTH_PW']密码。如果这与正确的凭据($user和$pass)匹配,您将继续将页面发送到浏览器。

您的代码不会区分这两种情况,因此即使已经发送了正确的凭据,它也会告诉浏览器它需要用户名和密码。

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…PHP-从最后一个循环中删除逗号 - php

我在循环时有一个PHP,如果是最后一个循环,我想从,中删除​​最后一个逗号echo '],'; while($ltr = mysql_fetch_array($lt)){ echo '['; echo $ltr['days']. ' ,'. $ltr['name…PHP Laravel从另一个驱动器读取文件 - php

我目前正在学习Laravel。我想知道是否有一种方法可以在Laravel中使用Storage::从另一个硬盘访问文件(使用Windows)。例如,我在驱动器C:上安装了带有Laravel的Xampp,但是我想访问网站目录之外的E:上的文件。我试过使用Storage::files('E:')和File::files('E:…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值