允许 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 片段的路径的更多详细信息:
- 我在一个指向名为 'subdomain_folder'
的子目录的子域中
- .htaccess 我正在处理位于 'subdomain_folder'
- WP 位于 'subdomain_folder'
中名为 'WP' 的子目录中
- WP 的完整路径:'/home/some-folder/public_html/subdomain_folder/WP
- 上传的完整路径:'/home/some-folder/public_html/subdomain_folder/WP/wp-content/uploads
我试过这个:
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 开发应用程序。
欢迎批评指正:)
我有一个用于开发目的的域。在这个域中,我有几个具有不同 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 片段的路径的更多详细信息:
- 我在一个指向名为 'subdomain_folder' 的子目录的子域中
- .htaccess 我正在处理位于 'subdomain_folder'
- WP 位于 'subdomain_folder' 中名为 'WP' 的子目录中
- WP 的完整路径:'/home/some-folder/public_html/subdomain_folder/WP
- 上传的完整路径:'/home/some-folder/public_html/subdomain_folder/WP/wp-content/uploads
我试过这个:
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 开发应用程序。
欢迎批评指正:)