問(wèn)題描述:
算是一個(gè)最簡(jiǎn)單的dwr的入門(mén)demo.也是按照dwr的入門(mén)demo寫(xiě)的..但是在運(yùn)行的時(shí)候卻出現(xiàn)了下面的問(wèn)題.
前臺(tái)頁(yè)面跳出session error的對(duì)話框
而控制臺(tái)則輸出:
2007-5-29 11:58:53 org.directwebremoting.util.CommonsLoggingOutput error
嚴(yán)重: A request has been denied as a potential CSRF attack.
的錯(cuò)誤信息.
請(qǐng)求被拒絕因?yàn)榭赡艽嬖赾srf(cross-site request forgeries,跨站請(qǐng)求偽造)攻擊.
也就是說(shuō)頁(yè)面URL可能被跨站了的服務(wù)所調(diào)用.
例如:自己頁(yè)面的一個(gè)圖片.可能被其他站直接通過(guò)[img]....[/img]來(lái)引用.
頁(yè)面則顯示
后來(lái)上網(wǎng)找到了解決方法:
在web.xml配置文件中..
dwr的配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
加入corssDomainSessionSecurity這個(gè)配置選項(xiàng)..這個(gè)參數(shù)是在dwr版本2.0才有的.默認(rèn)值為true,也就是
禁止其他域發(fā)送請(qǐng)求.
corssDomainSessionSecurity:設(shè)置成false能夠從其他域進(jìn)行請(qǐng)求.注意這樣做會(huì)在安全性上有一些冒險(xiǎn).