【发布时间】:2013-10-28 23:15:39
【问题描述】:
我在security.yml 文件中有下一个:
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/forum/, role: ROLE_USER }
- { path: /usuarios/, role: ROLE_NO_ACCESS }
但如果我尝试访问/public/img/usuarios/otherDirectory/ 中的文件并将其放入导航栏,则图像会显示在浏览器中。
为什么不拒绝访问?
更新
我已尝试将此添加到 Apache 站点配置(在我的本地主机中):
<Directory /home/me/MyServer/itransformer-2.0/web/public/img/usuarios>
AllowOverride none
Options -Indexes
Order allow,deny
Deny from all
</Directory>
但我仍然可以直接访问图像。也许我做错了什么......
【问题讨论】:
-
我不熟悉这个 .yml 结构,但似乎你只是阻止了
/usuarios/路径尝试使用像/usuarios/*或*/usuarios/*这样的通配符 -
你的重写规则是什么?通常,如果文件存在,则直接由 Web 服务器提供,而不是由 PHP 处理。
-
@JorgeCampos:对不起,你错了,语法是正确的(见documentation)。
-
@n.1 - 我喜欢你的选择,但尝试没有成功:stackoverflow.com/questions/19656103/…
-
@n.1 - 完成。看看上面的链接。
标签: php apache security symfony yaml