我们的symfony3项目有以下安全设置:
firewalls:
myfirewall:
pattern: ^/myapi
stateless: true
http_basic: ~
anonymous: false
access_control:
- { path: ^/myapi, ips: ['192.168.0.155'], roles: ROLE_USER }
- { path: ^/myapi, roles: ROLE_NO_ACCESS }
除此之外,还有一个内存中的提供程序。当路由被命中时,这工作正常。对/myapi/resource/123 的调用受到保护。但不幸的是,/myapi/res不是。对此 URI 的请求会导致 404。
这样,坏人就能够确定资源是否存在。
有谁知道为什么会发生这种情况/出了什么问题?我有点头绪。
谢谢!
嗯,似乎法比安做到了:-/https://github.com/symfony/symfony/issues/8414
虽然真的不是一个大的安全问题,但这并没有让我们自由地按照我们想要的方式设计我们的 API。