【发布时间】:2011-05-22 13:39:03
【问题描述】:
我有一个托管在 Apache 上的站点,其中包含一些受保护的内容。我想向在另一个应用程序中经过身份验证的用户提供对受保护内容的访问权限。使用 htaccess 和 htpasswd 保护内容。
我想使用 curl 设置用户名和密码,然后将用户重定向到受保护的文件夹。如果受保护的内容是单个文件,我可以轻松做到这一点,但我的解决方案似乎只适用于一页。一旦用户单击链接并尝试访问另一个页面,会话就会丢失。目录有数百页。
这是我正在使用的代码:
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL,'http://domain.com/protected_folder/');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_exec($ch);
curl_close($ch);
我对结果有两个问题:
- 未完成完全重定向,因此单击的任何链接都将引用回 php 文件所在的文件夹,而不是受保护的文件夹。地址栏仍然显示 php 脚本的路径。
- 似乎会话立即丢失。任何访问受保护文件夹中资源的尝试都会使用登录框进行提示。
任何关于如何解决这两个问题的想法都将不胜感激。
【问题讨论】: