仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 712|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET WebForm中异步哀求避免XSRF打击...

[复制链接]
谁可相欹 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。
海妖 该用户已被删除
沙发
发表于 2015-1-19 06:48:34 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
老尸 该用户已被删除
板凳
发表于 2015-1-25 17:02:58 | 只看该作者
ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-3 11:54:16 来自手机 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
蒙在股里 该用户已被删除
5#
发表于 2015-2-8 20:43:46 | 只看该作者
业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
小妖女 该用户已被删除
6#
发表于 2015-2-26 09:11:26 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-8 13:19:59 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-16 01:35:03 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
分手快乐 该用户已被删除
9#
发表于 2015-3-22 18:31:01 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 06:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表