我在 jquery 中使用跨域 AJAX,在中间使用本地转发脚本,我需要将基本身份验证信息传递到第二个域。
在 PHP 中,我知道我可以访问 $_SERVER['PHP_AUTH_USER']
和 $_SERVER['PHP_AUTH_PW']
变量,它们是简单的纯文本,因此我的转发脚本可以使用这些信息毫无困难。
但是,由于我无法控制的原因,我必须使用 Perl CGI 来执行此任务。我知道有 $ENV{REMOTE_USER}
,但我一辈子都想不出如何找到密码。我试过 $ENV{HTTP_AUTHORIZATION}
但结果总是空白。
在 Perl 中,如何读取基本身份验证密码?或者,至少,有没有办法让我的 CGI 直接读取 Authorization header ,以便我可以自己进行 base64 解码和拆分字符串?
谢谢!
最佳答案
查看这篇文章:http://www.besthostratings.com/articles/http-auth-php-cgi.html .
它使用 ModReWrite 将 Http 授权 header 写入环境变量。然后,您可以在 CGI 脚本中访问和解码它。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>
关于php - Perl 相当于 PHP_AUTH_PW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7362932/