|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为二次编译器太复杂,那么建议只是在安装程序的时候编译一次,而不类似java那样运行就编译。并且我觉得,一次痛苦,总比多次低效率要舒服多了。在ASP.NETMVC中微软已供应了怎样避免跨域打击的办法。关于传统Webfrom中利用Handler来承受ajax的Post哀求数据,怎样来避免XSRF打击呢。这里给人人供应一个复杂中央法,和MVC中相似。
1.起首必要在你的站点中安装以下的nuget包。能够手动复制dll。
Install-PackageMicrosoft.AspNet.WebPages-Version2.0.20710
最新版本的Razor是3.0的,安装WebPages的时分,它依附于Razor,以是关于framework4.0的项目来讲,没法安装WebPages最新版本。必要安装2.0版本。
安装完成后,增添了以下几个dll:
2.设置web.config,天生埋没的token。
必要在system.web节点下增添以下设置:
<machineKeydecryption="AES"validation="SHA1"decryptionKey="435D9CC99471D1E7C70FFEBA5EC71F28048BF9016605B82CC69B091FD317B294"validationKey="25C5D98CE093E77C2F886A6D8C6DA8FBC77CD764A1BF49E5D30CD123C5E19553"/>
设置好节点后,必要在.aspx页面的背景代码中增添一个Token天生字段,假如有基类,那末就能够把该部分增加到基类中。
我们增添了属性Token,然后利用AntiForgery.GetHtml()来天生一个埋没的token。然后在页面中绑定该Token。
<formid="form1"runat="server">
<%=Token%>
<div>
</div>
</form>
3.创立一个吸收ajax哀求的Handler,到场避免假造页面提交的代码。
4.创立一个带有Token的Ajax哀求。
如许就能够避免你的异步哀求被XSRF打击了。
PS:关于良多站点,会有子域名之类的,大概是一个Cookie多个站点共用,就简单呈现懂点手艺的用户跨站点往假造哀求。
微软开源了.net的良多代码,假如你想看下面的完成道理,那末能够往下载代码检察。
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。 |
|