如何限制防火墙的请求

编辑本页

如何限制防火墙的请求

当使用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许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop