消息:检测到CSRF攻击

时间:2017-02-16 08:45:48

标签: asp.net .net amazon-ec2 cdn kentico

我正在努力解决这个问题。

我有两个cdn url abc.com指向elb1,def.com指向elb2。

elb(elb1和elb2)指向负载均衡的相同ec2实例(ec2-A和ec2-B)

我可以登录从abc.com导航的服务器 但我无法登录从def.com导航的服务器

def.com登录会出现以下错误。

因为两个dns都指向相同的EC2。 Web.config文件是相同的。

Route::group(['prefix' => 'admin'], function() {
    Auth::routes();    
});

3 个答案:

答案 0 :(得分:2)

Kentico中的CSRF保护使用MachineKey.Unprotect()方法验证令牌,因此所有服务器都必须使用相同的加密密钥。

有关如何实现此行为的详细信息,请参阅documentation

答案 1 :(得分:0)

它固定的,我生成的机器密钥,并在两个ec2实例中放入相同的机器密钥。因此问题是固定的

答案 2 :(得分:-1)

Neshi是正确的,您需要确保页面上的帖子请求来自同一个来源,否则您几乎可以完成跨站点脚本的定义。

总体设置非常复杂,但是您仍然需要确保CSRF cookie中的安全令牌与CMSPage在加载时生成的令牌相同,我不确定这些重定向和加载传输是否能够这样做以及使会话保持足够的粘性。

一般说明在: https://docs.kentico.com/k10/securing-websites/developing-secure-websites/cross-site-request-forgery-csrf-xsrf