causal / fal-protect
基于关联文件夹和文件限制(可见性、用户组及发布日期)保护/fileadmin/目录内的所有内容。
1.6.0
2024-04-12 12:10 UTC
Requires
- php: >=7.2.0 <=7.4.99 || >=8.0.0 <=8.3.99
- typo3/cms-core: ^10 || ^11 || ^12 || ^13
README
此扩展保护/fileadmin/或其他相关存储目录内的所有内容,基于关联文件夹和文件限制(可见性、用户组及发布日期)
与其他类似扩展不同,此扩展旨在简化对敏感资产的直接访问阻止。
无需配置任何设置,只需按常规安装和启用,在服务器级别(Apache/Nginx,见下文)阻止直接访问即可!
我们的座右铭?KISS!
安装(Apache)
编辑文件.htaccess
使其读取
RewriteCond %{REQUEST_URI} !/fileadmin/_processed_/.*$
RewriteRule ^fileadmin/.*$ %{ENV:CWD}index.php [QSA,L]
注意:请确保在所有其他相关规则之前添加此规则。
安装(Nginx)
编辑您的server
块使其读取
location / {
rewrite ^/fileadmin/(?!(_processed_/)) /index.php last;
# snip
}
或者,如果这样更适合您的配置,可以像这样
location ~ /fileadmin/(?!(_processed_/)) {
rewrite ^(.+)$ /index.php last;
}
为什么默认使用404而不是403?
如果您尝试访问受限制的文件但没有权限,则应使用的合理HTTP状态代码是应该是要么是403 Forbidden
(或者可能是401 Unauthorized
),但这样做会使恶意用户清楚地知道资源存在但不能访问。
我们更喜欢默认情况下发出404 Not Found
,但您可以在扩展设置中自由选择发出403 Forbidden
。如果您计划在用户尝试访问受限制资源时将其重定向到登录页面,这特别有用。
完整文档
更完整的文档可以在https://docs.typo3.org/p/causal/fal-protect/main/en-us/找到。