使用GWT的RequestFactory时防止CSRF

时间:2011-06-03 13:03:44

标签: gwt csrf requestfactory

我刚刚开始将我的GWT-RPC代码移植到新的RequestFactory机制。

为了防止跨站点请求伪造(CSRF),我的GWT-RPC代码获取了存储在cookie中的会话ID,并将其包含在请求的有效负载中。这可能是RequestFactory吗?

据我所知,有四种强制定位器方法,包括findEntity(id_type id);所以我在想:哦,亲爱的:我在哪里开会话?

1 个答案:

答案 0 :(得分:9)

通常,您会扩展DefaultRequestTransport以将令牌添加到请求中(例如自定义标头,但您也可以将其添加到请求正文中)并将其传递给init你的RequestFactory。在服务器端,您将使用servlet过滤器,或者在处理RequestFactory请求之前扩展RequestFactoryServlet来处理令牌。您可以在此处定义自己的“协议”:例如返回403或401状态(或其他),然后在RequestTransport中处理它以将结果传达给您的应用。