允许 Timthumb 在受 htpasswd 保护的 Wordpress 中工作

Allow Timthumb to work in a htpasswd protected Wordpress

我有一个用于开发目的的域。在这个域中,我有几个具有不同 wordpress 安装的子目录。 为了隐藏整个区域,我在根目录中做了一个简单的 htpasswd 保护。

现在我在域中有一个使用 timthumb 库调整图像大小的 Wordpress,并且由于 htpasswd,我得到 "NetworkError: 400 Bad Request" 而不是图像。

这是获取错误的请求示例

http://subdomain.domain.com/WP/wp-content/plugins/plugin-directory/timthumb.php?src=http%3A%2F%2Fsubdomain.domain.com%2FWP%2Fwp-content%2Fuploads%2F2015%2F01%2F012015_valentines_hp_budvase.jpg&w=300&h=620&zc=1

有没有办法绕过只对那个文件的保护?

关于更好地阅读我的 .htaccess 片段的路径的更多详细信息:

我试过这个:

SetEnvIf Request_URI "^/WP/wp-content/plugins/plugin-dir/timthumb\.php$" allow
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/home/some-folder/.htpasswds/public_html/subdomain_folder/passwd"
Require valid-user
Order allow,deny
Allow from env=allow
Satisfy any

更新

有人建议我允许访问 timthumb.php 文件是没有意义的,相反我应该允许他发出 http 请求,或者允许完全访问上传文件夹所以,我尝试了以下方法,允许来自 localhost ip 的请求

AuthType Basic
AuthName "Reserverd Area"
AuthUserFile "/home/some-folder/.htpasswds/public_html/subdomain_folder/passwd"
Require valid-user
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Satisfy Any

本地主机和 127.0.0.1 都试过了

我什至尝试在单个 WP 上传文件夹(timthumb 要求图像)中添加另一个 .htaccess,规则允许来自任何

Satisfy Any
Order Allow,Deny
Allow from all

我仍然无法显示图像,而且我一直收到“网络错误:400 错误请求”而不是图像。

最后一个细节,WP目录下的.htaccess是一个标准的wp htaccess --> pastebin.com/8PRqEYQ2

我找到了解决方案。

正确的方法确实是允许来自服务器本身的请求,但是本地主机 IP (127.0.0.1) 不是允许的正确地址。 我进行了反向 IP 查找以搜索我所在的域,并使用了该 IP。

这是有效的 .htaccess

RewriteEngine On
<IfModule mod_authn_file.c>
AuthName "Restricted Area"
AuthUserFile "/home/path-to-passfile/passwd"
AuthType Basic
Require valid-user
Order Deny,Allow
Deny from all
# Use your server ip:
Allow from 111.111.111.11
Satisfy Any
</IfModule>

有了这个规则,我可以在 .htpasswd 保护目录中使用 timthumb.php 开发应用程序。

欢迎批评指正:)