保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长。根据ibm的系统科学协会(systems sciences institute)的研究,如果等到软件部署之后再来修补缺陷,其代价相当于开发期间检测和消除缺陷的15倍。 为了用最小的代价保障应用程序的安全,在代码本身的安全性、抗御攻击的能力等方面,开发者应当担负更多的责任。然而,要从开发的最初阶段保障程序的安全性,必须具有相应的技能和工具,而真正掌握这些技能和工具的开发者并不是很多。虽然学写安全的代码是一个复杂的过程,最好在大学、内部培训会、行业会议上完成,但只要掌握了下面五种常见的asp.net应用安全缺陷以及推荐的修正方案,就能够领先一步,将不可或缺的安全因素融入到应用的出生之时。 一、不能盲目相信用户输入 在web应用开发中,开发者最大的失误往往是无条件地信...
本文是从asp.ne t 1.1升级到asp.net 2.0需要考虑的cookie问题的补充,通过示例代码说明如何通过反射在asp.net 1.1与asp.net 2.0中获取随机生成的cookie加密与验证密钥。asp.net 1.1示例代码: object machinekeyconfig = httpcontext.current.getconfig("system.web/machinekey"); //得到system.web.configuration.machinekey+machinekeyconfig的实例,machinekeyconfig是machinekey的嵌套类 type machinekeytype = machinekeyconfig.gettype().assembly.gettype("system.web.configuration.machinekey...
当你准备将web应用程序从asp.net 1.1升级到asp.net 2.0,你将面对这样一个cookie问题:在asp.net 1.1应用程序中客户端保存的所有cookie将失效。 博客园也遇到了这样的问题,对博客园来说,意味着所有使用cookie的用户都需要重新登录,虽然这不是一个很大的问题,但的确给大家带来了麻烦,如果忘记了密码,将更加麻烦。 对于一个非常重视用户满意度的网站来说,应该努力去解决这个问题。博客园希望尽可能减少升级带来的影响,所以这两天我一直在研究这个问题并找到了解决方法。 问题的原因是:当程序从asp.net 1.1升级到于asp.net 2.0后,asp.net 2.0使用新的算法与密钥对客户端发送过来的cookie进行解密,这样导致asp.net中生成的cookie在asp.net 2.0中失效。在asp.net 1.1中,使用3des算法对cookie的内容进行...
1.使用forms验证存储用户自定义信息forms验证在内部的机制为把用户数据加密后保存在一个基于cookie的票据formsauthenticationticket中,因为是经过特殊加密的,所以应该来说是比较安全的。而.net除了用这个票据存放自己的信息外,还留了一个地给用户自由支配,这就是现在要说的userdata。userdata可以用来存储string类型的信息,并且也享受forms验证提供的加密保护,当我们需要这些信息时,也可以通过简单的get方法得到,兼顾了安全性和易用性,用来保存一些必须的敏感信息还是很有用的。下面来看怎么使用userdata,然后会给出一个实际使用的例子。//创建一个新的票据,将客户ip记入ticket的userdataformsauthenticationticket ticket=new formsauthenticationticket(1,usern...
当我们在网站上建立数据库时,保护用户的信息安全是非常必要的。多数用户不愿意让别人知道自己的信息,同时网管也不想因为安全问题而丢失网站的信誉。无论对于谁,安全问题都是非常重要的。 为了解决这个问题,我给大家提供一个简单实用,但是老套的方法,就是口令加密。在此我们使用asp.net技术对口令加密。简单的讲,就是将用户提供的口令加密之后,然后让它和存放于系统中的数据比较,如果相同,则通过验证。 在asp中,并未提供加密的对象,我们只能使用外部的对象来进行加密。现在好了,在asp.net中提供了加密的解决方法。在名字空间system.web.security中包含了类formsauthentication,其中有一个方法hashpasswordforstoringinconfigfile。这个方法可以将用户提供的字符变成乱码,然后存储起来,甚至可以 存储在cookies中。 hashpasswo...
1.如何用asp判断你的网站的虚拟物理路径 答:使用mappath方法 < p align="center" >< font size="4" face="arial" >< b > the physical path to this virtual website is: < /b >< /font > < font color="#ff0000" size="6" face="arial" > < %= server.mappath("")% > < /font >< /p > 2.我如何知道使用者所用的浏览器? 答:使用the request object方法 strbrowser=request.servervariables("http_user_agent") if instr(strbrowser,"msie") <...
前言:网络是没有绝对全安的,这是一句经典的名言,我也不用多说了!今天主要为大家演示一下,怎么下载access数据库和防止access数据库被下载。参考了部分文章,加入了自己的一些看法。 攻: 一、发挥你的想象力,修改数据库文件名,从理论上讲不一定能防止被下载。修改数据库名,其目的就是防止我们猜到数据库而被下载。但是万一我们猜到数据库名,就直接可以下载了。所以这不能保证100%不能被下载。猜解数据库的常用的办法就是写程序去猜解数据库名,判断web返回的是不是404错误,如果提交一个mdb文件,没有返回404错误,那就猜对了,就直接下载。当然这有一定的局限性,因为如果数据库名非常复杂。会产生大量的日志。管理员可能早发现了。并且还有猜解的时间会变得很长。二:数据库名后缀改为asa、asp等,不一定能防止被下载。iis在通过asp.dll处理.asp扩展名文件的时候,对以外的内容,不做任何处理就直...
摘要 本文对当前3g反向链路呼叫及通话过程中的安全问题做了分析,并分别从ms和bs相互之间的aka、信令完整性保护和数据保密、入侵检测等进行了讨论。另外,在讨论中适当地将安全与移动性管理相结合,并根据实际应用中的安全问题提出了一些新的设想和解决的方法。 关键词 aka 完整性保护 加密 入侵检测 1 前言 第三代移动通信系统是工作在2ghz频段的宽带移动通信系统,它与第二代移动通信系统的区别主要有:全球无隙漫游、支持高达2mbit/s的多媒体业务等,特别在internet上有更好更广的服务。而在这其中也会涉及到许多安全方面的隐患,因此有必要作一个3g安全的讨论。而移动台的主呼过程是其中的一个重要过程,讨论它的安全问题对整个系统的安全性研究有着重要的意义。 某个移动台在随机接入信道上对另一个移动台或固定网用户发起呼叫时,plmn系统网络将开始一系列的操作。首先,ms发起呼叫时,移动台中...
概要:j2se1.4加入了新的i/o库(nio)允许在java应用中使用高速i/o。io使用了新的i/o模型,它与原有的i/o库使用的模型有着很大区别。这篇文章将一步一步教您使用nio库中的select工具。select使您的服务器可以处理来自多个连接的大数据量。在对nio库的简要介绍后,本文还讲解了select工具的原理,最后分析了一个利用select工作的服务器的源码。java使用了非常优雅的基于流的i/o模型。流是一种产生或消耗字节序列的对象。流可以与过滤程序连接在一起,扩展到可以处理各种不同的数据。流模型非常复杂,但是效率不高。这对于大多数应用来说还好,但当系统需要和硬件处理同样高的速度时,流模型就无法应付了。j2se1.4中引入了新i/o库(nio)来解决这个问题。nio使用面向缓冲(buffer)的模型。这就是说,nio主要处理大块的数据。这就避免了利用流模型处理所引起的问题,...
这个教程主要学习在 dreamweaver mx 中如何修改“添加/修改编辑数据”的代码,以便使用户提交的信息在下一页有效。 当使用“insert”或者“update”时,这个问题经常会被遇到,表单自动被提交,然后页面地址指向第二页,这时,在第一页中输入的表单的数据值在第二页中是无效的。我知道使表单的值与更改后的地址url相联系并进行扩展是可能的。然而,当我进一步查看mm的代码后,我意识到可以通过修改一些代码来达到在第二页中调用前页提交数据的目的。步骤1:在标准模式下,用 macromedias 代码创建 “insert record” 页面或者 “edit record” 页面 。输入“page2"作为指向后的页。 现在,打开你的代码来看,会发现下面的代码。这段代码在每个 mm “insert” 或者 “update record” 页面中是相同的:' append the q...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器