【问题标题】:how can i set username and password for basic http authentication?如何设置基本 http 身份验证的用户名和密码?
【发布时间】:2016-09-14 22:58:08
【问题描述】:

我有一个 perl 程序并从 cgi 中使用它。我将以下行附加到代码中

use CGI qw(:cgi);
print header(-type => 'text/html', -status => '401 Not Authorized',
         'WWW-Authenticate' => 'Basic realm="Videos"');

当我输入 url 时,浏览器需要我的用户名和密码。问题是我不知道什么是用户名和密码,我应该在哪里分配它们。 对提供基本身份验证的另一种机制的任何帮助也会很好。 谁能帮我这个? 谢谢。

【问题讨论】:

  • 所以……您不知道要为哪个首先要求提供哪个用户和密码?
  • @serenesat:哦,看。这是另一个。这次你也可以做点有用的事

标签: perl http authentication cgi basic-authentication


【解决方案1】:

通常网络服务器会处理基本身份验证,然后它可能还会处理未经授权的请求返回 401 - 所以您的代码 id 可能毫无意义。

如果您真的想自己尝试,您还必须解析浏览器在用户尝试进行身份验证时发送的标头,使用您喜欢的任何方法验证信息,如果成功则返回可用页面。

【讨论】:

  • 感谢@Henrik。您的回答帮助我了解真正的身份验证。我照您说的做,并将我的代码放在这里。
  • 你能告诉我如何从浏览器获取请求头吗?我通过 ENV 变量获取它,但身份验证框没有消失。
【解决方案2】:

由于您已经在使用 CGI,您可以从 CPAN 中加入 CGI::Auth::Basic 模块。或者,如果您需要更多特色,CGI::Auth

【讨论】:

  • 我第一次尝试了这个模块,但它在模块的第 314 行向我发送了一个错误!!
猜你喜欢
  • 2015-01-17
  • 2011-01-24
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多