关于cookies的安全问题一句就是:用户可以任意修改存在他自己电脑上的cookies信息。
比如您的网站有两个用户,一个是“admin“,一个是“普通用户”,如果您的程序里识别了admin为管理员,那么,“普通用户”可以先正常登录,然后再通过一些软件修改存在自己电脑上的cookies信息,将“普通用户”改为“admin”那么,你就网站就会认为,他是admin管理员,如果你的网站没有再做进一步防范,那么他就可以成功的使用admin权限了。
这就是关于cookies对“你网站”的安全问题了,原理说清了,解决起来就简单了,仁者见仁,智者见智,方法不尽相同,能防范就行了。
cookies还可以造成一些其它安全问题,如果你的网站一些表单信息过滤不全,黑客可以在表单里写入一些js代码来获取其它用的cookies信息,对其它用户的安全带来威胁,不过这些不会对你的网站安全有损坏,所以不必着急,重要的是第一个。
------------------------------------------------------------
补充回答:
如果你的网站登录时没有设置cookies存活期,就不会有安全问题,即用户在登录的时候只能登录,不能选择保存,当然你的程序里也确定不能有保存存活期,这样就不会有问题了,因为没有存活期的cookies,在关闭浏览器时,cookies就不存在了。(黑客修改cookies的内容后比需重启浏览器才能生效,所以两者有必然的冲突,所以是安全的)
cookies是在用户登录的同时生成的,没有存活期的cookies好像不能修改,我没改成功过。
--------------------------------------------------------------------
再补充,跟据个人写程序多年的经验,以及黑学方面的经验,不要相信所谓SESSION安全,cookeis不安全的谬论,只有懂不懂及是否有安全意识的程序员,没有安全不安全的语法。程序是人写的,session写不好一样不安全,cookeis写好了一样无懈可击,说cookies不安全,只能说明他不会用罢了。每种方法各有各的用处,各有各的好处及缺点。ASP是一种类似HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common GAteway Interface 通用网关接口)的结合体,但是其运行效率却比CGI更高、程序编制也比HTML更方便且更有灵活性,程序安全及保密性也比Script好。如果您是第一次接触互连网(Internet),那么您可能不很了解上述名词,以下对各种名词加以解释并说明它们之间的区别。HTML(Hypertext Markup Language)是一种超文本标识语言,文件通过这种格式可以在互连网上载送浏览,用户只要使用网页浏览器工具就可以浏览这些文件,目前比较常用的工具包括Microsoft Internet Explorer,Netscape Communicator等,由于HTML文件都是由标签(tag)所组成,因此它比较适合制作静态网页,再者,由于先天上的限制HTML是无法直接存取数据库的,所以存取数据库的工作大多是依靠CGI来处理。ASP不但可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。CGI(Common Gateway Interface)是一种共用网关接口,它可以称之为一种机制因此您可以使用不同的程序编写适合的CGI程序,这些程序语言包括Visual Basic、Delphi或C/C++等,您将已经写好的程序放在WEB服务器的计算机上运行,再将其运行结果通过WEB服务器传输到客户端的浏览器上。事实上,这样的编制方式比较困难而且效率低下,因为你每一次修改程序都必须重新将CGI程序编译成可执行文件。而ASP与Script(脚本)的编写方式非常类似,它完全不需要重新编译成可执行文件就可以直接运行,再者ASP内置的ADO组件,允许用户通过客户端浏览器存取各种各样的数据库。此外,ASP与CGI最大的不同在于对象向导和组件重用,ASP除了内置的Request对象、Response对象、Server对象、Session对象、Application对象、ObjectContext对象等基本对象外,另外可以允许用户以外挂的方式使用ActiveX控件。当然,ASP本身也提供了多个ActiveX控件供使用,这些组件包括广告轮显组件、文件存取组件、文件连接组件几数据库存取组件等,这些大量扩充且重复使用的组件使ASP的功能远大于CGI。Script(脚本)是由一组可以在WEB服务器或客户端浏览器运行的命令组合而成,目前在网页编制上比较流行的脚本语言包括 VBScript,JavaScript。这些脚本大都是在客户端运行,因此,客户端可以很清楚的取得脚本的内容。所以,就安全性而言,这些客户端的脚本语言的确有危险。ASP虽然具有 居镅缘姆奖阈裕捎谒窃赪EB服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。归纳出ASP的特点:ASP可以和HTML或其它脚本语言(VBScript,JavaScript)相互嵌套ASP是一种在WEB服务器端运行的脚本语言,程序代码安全保密ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能ASP内置ADO组件,因此可以轻松的存取各种数据库ASP可以将运行结果以HTML的格式传送至客户端浏览器,因而可以适用与各种浏览器ASP 作用和优点Active Server Pages或ASP是cgi的一种替代品,也可以说是微软公司为了赚钱而发明的(因为perl的一切都是免费的)不过微软公司开发的asp的确有过人之处,它的运行速度比cgi快,而且它为使用HTML,脚本和ActiveX服务器组件构建Web应用程序提供了一个框架可以能过将脚本嵌入HTML页内来创建ASP文档当用户请求得到一个ASP时,服务器便执行嵌入在页内的脚本,而且将脚本的输出作为HTML的组成部分也包括在内,从而任何浏览器都可以浏览这个页我们都经常听到CGI的大名,但是它的名字就会在不久的将来被ASP所代替,ASP能够实现CGI的所有功能,并且ASP比CGI有更快的执行速度!而且,ASP能够通过DLL 组件,将它的功能无限扩展,这是目前任何一种其它网络语言所无法拥有的比如,我们在打开数据库时用的ADO(Active Date Object)组件,ADO被 用作为ASP和相关数据库之间的中介物例如,我们想从Microsoft Access 数据库检索记录,你的脚本就要调用Active DateBase Object ,它又从Access数据库中请求得到数据!asp组件支持Microsoft的COM(Component Object Model),所以能用很多的语言来编写这些组件,常见的有VB,VC,C++,Java这些语言我想大家多少都会懂一点,也就是说你只要会这些语言,那么你就能够编写你自己的组件,来扩展你的程序!(2)把脚本语言直接嵌入HTML文档中,不需要编译和连接就可以直接解释运行。(3)利用ADO组件轻松存取数据库
。有人说不要试图开发没有数据库支持的网络项目
,而ASP存取数据库非常容易,没有CGI难学。(4)
面向对象编程
,可扩展ActiveX Server组件,从理论上说,可以实现任何功能。(5)不存在浏览器兼容的问题,由于ASP程序是在服务器端运行的,当客户端浏览器浏览ASP网页时,服务器会将该网页文件重新解释一遍,并将生成的标准HTML文件发送给客户端浏览器,因为送出的是标准的HTML文件,当然不会存在浏览器兼容的问题了。(6)可以隐藏程序代码,在客户端仅可看到由ASP输出的动态的HTML文件,可以保护你的劳动成果。1。2 ASP的缺点(1)运行速度比起HTML程序较慢,这是因为每当客户端打开一个ASP网页时,服务器都须将该ASP程序从头到尾重读一遍,并加以编译执行
,最后再送出标准的HTML格式文件给客户端,从而影响了运行速度。不过,由于服务器硬件技术的更新和网络速度的提高,速度上的影响是很小的,特别是当同时上网的人数较少时,这种影响更可以忽略不计了。(2)有的
网络 *** 作系统
不支持ASP,这样用ASP开发Web程序一般来说最好选用Windows系列的 *** 作系统
。2。1 PHP的优点(1)首先它是免费的,对于许多要考虑运行成本的商业网站来说比较重要。(2)开放源码,所有的源码和文档都可以免费复制,编译和传播。正因为它是开放的,所以才可能有很多爱好者不断地发展它,使它具有旺盛的活力。(3)多平台支持,可以运行在UNIX,Linux或Windows *** 作系统下。(4)由于在服务器商运行,是交PHP文件解释成标准的HTML文档发送过去,因此也不受客户端浏览器的限制。(5)效率高,同ASP相比,PHP占用较少的系统资源,招待速度比较快。2。2 PHP的缺点(1)因为没有大公司的支持,可能前途不如ASP,JSP等辉煌。(2)运行环境安装相对比较复杂。预备知识:ASP编程ASP木马入侵原理要预防木马的入侵,就要先了解入侵的原理。想通过ASP木马入侵,必须先将木马上传到目标空间,然后直接在客户端浏览器里面运行木马,接着就可以进行文件修改、目录删除等等具有破坏性的工作。黑客入侵ASP网站一般使用两种方式:第一种是上传木马后,利用木马以及 *** 作系统漏洞在Windows启动项里添加一个批处理文件,用来添加管理员账号,然后用管理员账号停止防火墙运行和进行文件修改删除等 *** 作。第二种是上传木马后,直接通过木马删除网站里面的目录和文件。找准关键对症下药通过分析可以发现,我们提到的两种入侵方式都是利用ASP网站的上传功能,先上传木马,然后借助木马对文件进行修改删除等 *** 作。简单说来,要做的第一步就是阻止ASP文件的上传;其次,如果被上传了ASP木马,就要杜绝木马的运行。ASP木马本身就是个ASP文件。所以很关键的一点是限制ASP文件的上传。一般ASP网站本身就有文件上传功能,并且默认是限制了ASP文件的上传,不过黑客能够想方设法上传他们的木马文件。安全与便捷并行要防患于未然,一些前期工作必须先做好。首先就是养成及时备份的习惯;其次,如果你的网站采用ACCESS数据库,那么要保证你网站的主数据库不能以MDB为扩展名,将扩展名改成ASP,这样可以防止黑客直接下载到网站数据库并猜解网站管理员密码;第三,网站管理员密码位数推荐超过12位。限制ASP执行权限虽然无法通过杀毒软件查杀ASP木马,但可以采取其他方法进行有效防范。就知名的动易网站管理系统或者动网论坛来说,默认是允许注册用户上传文件的。黑客可以利用工具将ASP木马伪装后上传至服务器。关键就在于他们上传文件所存放的目录是固定的,具体说就是通过网站上传的文件只会出现在我们ASP网站程序所指定的目录下。如果要完全限制网站注册用户上传文件的权限是不现实的。所以,我们能做的第一步,就是禁止ASP文件在此目录的执行权限。目的就是让上传来的ASP木马无法执行。具体方法如下:打开IIS,右键点击网站里面供上传的目录,点击属性,我们可以看到属性窗口;将此目录的"执行权限"设置成"无";用同样的方法,再将存放数据库的文件夹以及其余几个可供用户上传文件的文件夹的"执行权限"全都设置成"无"。服务器上的安全设置即使限制了上传目录的ASP的执行权限,但也无法保证服务器的绝对安全。所以,服务器上面也要进行一些设置。服务器 *** 作系统以Windows 2003为例,首先当然是要将磁盘转为NTFS格式。其次,可以将默认的Administrator改名,并设置足够位数的密码(推荐12位以上)。为了欺骗黑客,还可以另外建一个名为Administrator的账号,并设置密码,赋予最低权限。在Windows 2003 *** 作系统里面设置相应文件夹的权限。由于网站做好后一般一段时间都不会随便对源代码进行修改,所以可以对不需要进行修改的地方设置只读权限,仅开放几个上传的文件夹的可写权限。对系统默认的Everyone的权限进行限制,拒绝Everyone的删除以及修改权限。仅在我们需要对网站进行修改的时候,才暂时将此限制去掉。具体 *** 作过程如下:对存放网站的文件夹点击右键,点击"共享和安全";在安全选项卡上,可以看到属性窗口;为限制Everyone的权限,点击下面的高级按钮;在d出的"高级安全设置"对话框中的"权限"选项卡上,点击"添加";在"选择用户或组"底下的框中输入名称"Everyone",再点击"确定";在出现的对话框中勾选"创建文件/写入数据"、"创建文件夹/附加数据"、"删除子文件夹及文件"、"删除"、"更改权限"的拒绝权限,并设置将它应用到"该文件夹及文件"。同样的方法,再对网站里面的各个子文件夹进行设置,拒绝一些网管对不需要修改的文件夹的更改、写入数据等权限。要注意的是,供网站用户上传文件的文件夹,要保留其写入的权限。由于Windows的用户组权限是拒绝优先,所以设置好后要测试,供上传的文件夹不能限制其写入权限。 我们做好了这些权限的设置之后,可以自己试着对网站的文件或者文件夹进行改名、删除等 *** 作,看看是否会提示拒绝访问或者没有这个权限。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)