vsa*_*zis 7 pdf indexing wordpress nginx hotlinking
我正在运行一个网站,我想保护WordPress上传文件夹中的所有PDF文件免受外部访问和热链接.
我已经在使用用户身份验证来保护附加到这些文件的帖子,但用户身份验证不保护PDF文件的直接链接或从搜索引擎索引这些文件.
我宁愿不更改默认上传目录,因为PDF随机文件名超过1000并附加到具有不同日期的各个帖子.
该站点使用Nginx,php5-fpm和MariaDB托管在Debian VPS上.
到目前为止,我测试了以下内容:
site.conf 1
location /wp-content/uploads/ {
location ~* \.(pdf)$ {
valid_referers blocked example.com *.example.com;
if ($invalid_referer) {
return 301 https://example.com/services/login-error.html;
}
}
}
Run Code Online (Sandbox Code Playgroud)
site.conf 2
location /wp-content/uploads/ {
location ~* \.(pdf)$ {
valid_referers blocked example.com *.example.com;
if ($invalid_referer) {
deny all;
return 403;
}
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,上述配置都没有按预期工作.它们会阻止外部访问,但它们也会将经过身份验证的用户重定向到403或301错误.
任何帮助或建议将不胜感激.
谢谢.
因此,在尝试了所有答案和更多内容后,我最终发现,虽然 site.conf #1 正在与登录用户一起使用 URL 以 https:// 开头的 PDF 文件,但它无法与以前的用户一起使用。过去 URL 中包含 http:// 的上传内容。我必须将 wp_posts 表更新为https://example.com/wp-content/uploads/,它最终(仅)保护 PDF 文件不被直接访问。
当然,这是一个粗略的解决方法,请记住,此方法还将保护公开可用的 PDF 文件。
感谢您的所有帮助。
| 归档时间: |
|
| 查看次数: |
678 次 |
| 最近记录: |