如何限制防火墙的请求
编辑本页如何限制防火墙的请求
当使用Security组件时,防火墙将根据请求匹配器的结果决定是否处理请求:第一个匹配请求的防火墙将处理它。
最后一个防火墙可以配置为不需要任何匹配器来处理每个传入请求。
配置限制
大多数情况下,您不需要自己创建匹配器,因为Symfony可以根据防火墙配置为您创建。ob娱乐下载
请注意
您可以单独使用以下任何限制,也可以将它们混合使用,以获得所需的防火墙配置。
路径约束
这是默认的限制,仅在请求路径匹配配置时才初始化防火墙模式
.
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8
#配置/包/ security.yaml#……安全:防火墙:secured_area:模式:^ /管理#……
的模式
正则表达式。在本例中,只有当路径开始时防火墙才会被激活^
正则表达式字符)与/管理
.如果路径不匹配此模式,防火墙将不会被激活,后续的防火墙将有机会匹配此请求。
主机限制
如果匹配模式
只有是不够的,要求还可以匹配对抗宿主
.当配置选项宿主
时,防火墙将被限制为仅在请求中的主机与配置匹配时才初始化。
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8
#配置/包/ security.yaml#……安全:防火墙:secured_area:主持人:^ admin \ .example \ com美元#……
的宿主
(如模式
)是正则表达式。在本例中,只有当主机等于exactly(由于^
而且$
正则表达式字符)到主机名admin.example.com
.如果主机名与此模式不匹配,防火墙将不会被激活,后续的防火墙将有机会与此请求匹配。
HTTP方法限制
配置选项方法
将防火墙的初始化限制为提供的HTTP方法。
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8
#配置/包/ security.yaml#……安全:防火墙:secured_area:方法:(,邮报》)#……
在本例中,只有当请求的HTTP方法是其中之一时,防火墙才会被激活得到
或帖子
.如果该方法不在允许的方法数组中,防火墙将不会被激活,后续的防火墙将再次有机会匹配此请求。
按业务限制
如果上述选项不适合您的需求,您可以配置任何服务实现RequestMatcherInterface作为request_matcher
.
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8
#配置/包/ security.yaml#……安全:防火墙:secured_area:request_matcher:App \安全\ CustomRequestMatcher#……
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。