2011-08-20 33 views
0

这是一个两部分问题。创建passworded php页面没有表单/ html

第一个问题是。我正在寻找一种方法来屏蔽我的PHP页面使用这些通用登录框中出现的一个没有真正的页面/ HTML表单。像这个盒子一样。这是什么名字?它是如何完成的?

Snapshot of password box

第二个是。我想让CRON访问这个密码页面,并启动一个php脚本。

+0

将这两个问题分解成两个问题后分别解答。 –

+0

检查http://httpd.apache.org/docs/2.0/howto/auth.html –

回答

3

该对话框显示HTTP“基本”或“摘要”身份验证。 这不应该用于任何严重的事情。 “基本”身份验证将明文中的密码发送到服务器。 “摘要”稍微好一点,但用户无法检测他提供的密码是否将用于基本或摘要(用户可能不清楚用户是否使用HTTP或HTTPS服务器进行身份验证)。

最后,大多数浏览器只提供非常晦涩的方式来清除这些身份验证方法输入的密码。网站本身无法强制进行“注销”清除。因此,需要使用共享/公用计算机的用户将无法在以后注销。

+0

第二部分我可以同意,但第一部分没有意义。将注销可能性放在一边,基本身份验证与任何常用的“表单”登录过程一样安全。数据仍将以纯文本形式发送,除非使用HTTPS。我相信你知道这一点,只是人们可能会得到错误的想法。 –

+1

好吧,括号比我写的时候看起来更重要。用户可能会被教授,或许其中的一些人不会在没有看到页面上的HTTPS图标的情况下将他们的密码输入到表单中。使用基本身份验证时,假设浏览器在显示对话框时甚至对其进行了适当更新,则此UI将不会立即与密码对话框关联。 –

+0

感谢您的解释。 –

1

这被称为HTTP基本认证。基本认证可以通过PHP(如帖木儿建议)或通过Apache来调用。

AuthType Basic 
AuthName "Restricted Files" 
AuthUserFile /usr/local/apache/passwd/passwords 
Require user thomasreggi 

至于第二部分,你可以使用cron用的wget或使cron运行你的PHP脚本卷曲。 Here's a question它显示了如何做到这一点。

1
  1. 这听起来像你指的是基本的HTTP认证。

    如果您使用Apache网络服务器,请使用this documentation来帮助您进行设置。

  2. 通常,URI可能包含身份验证详细信息and HTTP will accept these

    形成你的网址,如:

    http://<username>:<password>@hostname/path 
    

您可能使用CodeIgniter's built-in authentication facilities富裕。

+2

我不会调用codeigniter的内置身份验证 - codeigniter没有内置的身份验证库(您发布的链接只是一个有点在codeigniter以外的人提供的库,它不是最好的) – Matthew