Show Menu
主题×

配置调度程序以防止CSRF攻击

AEM提供了一个旨在防止跨站点请求伪造攻击的框架。 为了正确利用此框架,您需要对调度程序配置进行以下更改:
请务必根据现有配置更新以下示例中的规则编号。 请记住,调度程序将使用最后一个匹配规则授予允许或拒绝,因此将规则放在现有列表底部附近。
  1. /clientheaders author-farm.any和publish-farm.any的部分,将以下条目添加到列表底部: CSRF-Token
  2. 在和/或文件的/filters author-farm.any 部分 publish-farm.any ,添 publish-filters.any 加以下行以允许通过调度程序 /libs/granite/csrf/token.json 发出请求。 /0999 { /type "allow" /glob " * /libs/granite/csrf/token.json*" }
  3. 在您的 /cache /rules 部分下,添 publish-farm.any 加一个规则以阻止调度程序缓存文 token.json 件。 通常,作者会绕过缓存,因此您不必将规则添加到您的 author-farm.any 中。 /0999 { /glob "/libs/granite/csrf/token.json" /type "deny" }
要验证配置是否正在工作,请在“调试”模式中观察dispatcher.log以验证token.json文件是否未被缓存且是否未被过滤器阻止。 您应当看到类似以下内容的消息: ... checking [/libs/granite/csrf/token.json] ... request URL not in cache rules: /libs/granite/csrf/token.json ... cache-action for [/libs/granite/csrf/token.json]: NONE
您还可以验证请求在apache中是否成功 access_log 。 “”的请求应返回HTTP 200状态代码。