请教一下,怎么样给一个网站加密,就是当你打开这个网站的时候,会弹出一个输入帐号和密码的对话框(类似于普通路由器管理页面登录时候那个提示窗口),登录成功之后才能正确显示网站内容?

2012-12-01 11:35:17 +08:00
 sophy
我想实现的是,不需要用户名,只提示输入一个密码,如果正确就能访问网站,请教各位怎么实现?


站点基于PHP
6357 次点击
所在节点    问与答
12 条回复
wogong
2012-12-01 11:37:10 +08:00
tumblr的加密blog很符合这个要求。
sophy
2012-12-01 11:37:51 +08:00
@wogong 额,我是自己的站点
binux
2012-12-01 11:41:07 +08:00
http basic authentication
eric_q
2012-12-01 11:43:38 +08:00
这件事可以用 apache/nginx 来做,不需要在 php 层面上做更改
skyleft
2012-12-01 11:46:12 +08:00
WEB服务软件,貌似都有这个功能。
sophy
2012-12-01 11:46:36 +08:00
@binux thx!
sophy
2012-12-01 11:47:05 +08:00
@eric_q 嗯,我知道是在nginx下做,具体实现不太懂
liuhang0077
2012-12-01 11:54:20 +08:00
liuhang0077
2012-12-01 12:07:55 +08:00
@sophy 那个太长了。。 用短网址好了 http://ytt.me/vHuDi3
sophy
2012-12-01 14:05:01 +08:00
@liuhang0077 3Q!!
catfan
2012-12-01 15:03:27 +08:00
根本就不需要这么复杂,直接加个header就可以了。在弹出输入框里面提交的用户名和密码就是$_SERVER['PHP_AUTH_USER']和$_SERVER['PHP_AUTH_PW']

<?php
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']))
{
echo 'User: ' . $_SERVER['PHP_AUTH_USER'] . ' Password: ' . $_SERVER['PHP_AUTH_PW'];
}
else
{
header("WWW-Authenticate: Basic realm=\"Login\"");
}
?>
liuhang0077
2012-12-02 00:21:00 +08:00
@catfan =,= 其实地下的是原理解释而已了~

https://gist.github.com/4183086

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/53806

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX