【问题标题】:Can't password protect specific url in CodeIgniter无法密码保护 CodeIgniter 中的特定 url
【发布时间】:2020-09-09 00:24:41
【问题描述】:

我需要在我的 codeigniter 站点上使用密码保护特定路由/url。

基本网址如下所示:

https://staging.mysite.com/site-name

我想用 .htaccess 的密码保护这个 url

https://staging.mysite.com/site-name/export

路线看起来像这样

$route['export']['get'] = 'ExportController/index';
$route['export']['post'] = 'ExportController/export';

我已经为类似的问题尝试了许多不同的答案,但我无法让它正常工作, 要么处处询问密码,要么根本不询问。

这是我的 .htaccess

RewriteEngine on


<IfModule mod_rewrite.c>

   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

SetEnvIfNoCase Request_URI ^/export SECURED

AuthName "Restricted Area"
AuthType Basic
AuthUserFile "/home/something/path/to/.htpasswd"
AuthGroupFile /
Require valid-user

Satisfy    any
Order      Allow,Deny
Allow from all
Deny from env=SECURED

我认为问题可能出在这部分:

SetEnvIfNoCase Request_URI ^/export SECURED

因为我只是无法定位我想要的网址,所以这里有一些我尝试过的其他东西

SetEnvIfNoCase Request_URI ^/site-name/export SECURED
SetEnvIfNoCase Request_URI "^/site-name/export" SECURED
SetEnvIfNoCase Request_URI "^/export" SECURED
SetEnvIfNoCase Request_URI ^(.*)/export SECURED
SetEnvIfNoCase Request_URI .*/export$ SECURED
SetEnvIfNoCase Request_URI .*/export SECURED

编辑:

我也尝试过这样保护整个 ExportController,密码提示不会出现在任何地方。

<Files ExportController>
AuthName "ExportController"
AuthType Basic
AuthUserFile "/home/something/path/to/.htpasswd"
require valid-user
</Files>

【问题讨论】:

标签: .htaccess codeigniter .htpasswd


【解决方案1】:

我最终这样做了:

<If "%{THE_REQUEST} =~ m#^GET /site-name/export#">
    AuthType Basic
    AuthName "Password Required"
    AuthUserFile /home/path/to/.htpasswd
    Require valid-user
</If>

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    相关资源
    最近更新 更多