php curl - 需要使用 curl 提供对受保护目录的访问

R J*_*R J 5 php .htaccess curl

我有一个托管在 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);
Run Code Online (Sandbox Code Playgroud)

我对结果有两个问题:

  1. 未完成完全重定向,因此单击的任何链接都引用回 php 文件所在的文件夹,而不是受保护的文件夹。地址栏仍然显示 php 脚本的路径。
  2. 看来会话立即丢失。任何访问受保护文件夹中的资源的尝试都会通过登录框提示。

关于如何解决这两个问题中的任何一个的任何想法将不胜感激。

pro*_*php 0

您是否已经习惯使用 htaccess 身份验证?如果您改为通过 PHP 进行身份验证,您将获得更大的灵活性。

http://php.net/manual/en/features.http-auth.php