【发布时间】:2014-04-24 08:55:33
【问题描述】:
我已经在我的 web 应用程序上成功安装了 CsrfGuard,但是在反向代理后面的 preprod 上进行测试时,事情变得很糟糕。 CsrfGuard 的 javascript isValidDomain 不认为我的域是有效的:CsrfGuard JavaScriptServlet 返回未代理的域...
这是javascript代码:
if(isValidDomain(document.domain, "myRealDomain")) { … }
isValidDomain只是一个字符串比较方法,事情是:CsrfGuard JavaScriptServlet返回“myRealDomain”,javascript代码“document.domain”返回“myProxiedDomain”:字符串比较失败!
那时我不知道该怎么做,我希望得到指导!我相信有些人之前遇到过这个问题,反向代理似乎很常见。
【问题讨论】:
-
我对 CsrfGuard 不熟悉,但是你能扩展
JavaScriptServlet并为myRealDomain提供一个可配置的值吗? -
嗯,这是解决方案之一,但是 JavaScriptServlet 是最终版本,我需要制作自己的 lib 版本才能做到这一点......
-
可能需要重写 isValidDomain 方法才能知道反向代理。似乎是框架的限制,祝你好运。
标签: java web-applications csrf reverse-proxy