Htaccess-Http身份验证-是否可能捕获GET并应用身份验证然后重定向?举个例子


Htaccess - Http Authentication - Possible to possible to catch GET and apply authentication then redirect? Have example

我一直在使用.htaccess文件进行http身份验证,试图改进我当前的cms。

我在apache中找到了一个解决方案,而在我的html某处<a href=".test">Test</a>中使用了一个链接。

然后我把它添加到我的.htaccess:中

<Files .test>
AuthType Digest
AuthNAme "Restricted Page"
AuthDigestProvider file
AuthUserFile /usr/home/myDomain/includes/htpasswd/admin/.htdigest
Require valid-user
# If user is authenticated then redirect
RewriteEngine on
RewriteCond %{REMOTE_USER} !=""
RewriteRule ^.*$ /test.php? [R]
</Files>

这样做的目的是,当用户单击提到的超链接时,系统会通过http身份验证向用户提示登录表单。当他们输入正确的凭据时,他们会被重定向到可访问根目录中名为test.php的页面,该页面又包括web根目录之外的cms索引。

如果用户在cms中选择了一个部分,系统会提示他们再次登录(使用站点默认的基于php的登录系统),并且只有具有正确角色分配的用户才能访问任何特定部分。

尽管这很有用,但这并不是我想要实现的。

我想到的是两种可能的解决方案。

一种是用户可以在地址中输入http://www.myDomain.com/?whateveryoulike,然后被引导到我的cms。理想情况下,此重定向将直接指向其根目录中的cms索引,该目录无法通过http://访问。类似这样的事情可以在php:中完成

if isset($_GET['whateveryoulike']) 
{
include $_SERVER['DOCUMENT_ROOT'] . '/../../admin/blah.php';
}

我想到的另一个选项是我不太了解的东西,但它与http身份验证有关,我以前见过一次使用。。。

基本上用户进入username@www.myDomain.com然后他们会收到http-auth-log-in框的提示。当满足证书要求时,它们将被发送到网站内的一个单独部分。

有人能提供任何关于我将如何进行这项工作的意见、建议或附加想法吗?

不过,我的问题是,如果真的可以捕获GET(http://www.myDomain.com/?whateveryoulike)应用http身份验证,然后将用户重定向到http://根之外的页面?

谢谢你花时间通读这篇文章!

实际上可以捕获GET,应用http身份验证,然后将用户重定向到http://root之外的页面?

没有
原因可能是几年前就已经使用过的欺诈行为
从那时起,浏览器拒绝以静默方式授权用户。

不过,我认为这一切都毫无意义。