资源描述:
《网页制作与电子商务网站安全》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、网页制作与电子商务网站安全[摘要]网页制作是目前比较流行的一种行业,它已经渗透到社会的各个角落,而电子商务网站中网页制作技术应用的最多,本文主要从电子商务网站的安全隐患、网站安全现状、网站安全的措施与解决方案、电子商务发展等方面进行探讨,尤其对于网站安全的考虑,在编写网页代码时,应注意的一些防范方法的介绍,以促进人们对网页制作中的安全防范技术的了解。 [关键词]网站安全脚本数据库交互 一、引言 Inter已渗透到了社会的各个领域,不仅影响着我们的学习和工作,在Inter的发展中,的发明和迅速推广应用是一个重要的里程碑。网页设计作为一门新兴
2、的技术,是介于平面设计、编程技术两者之间的一门学科,它还涉及到美学心理、平面构成、色彩搭配等平面设计方面的知识。只有综合运用多种知识,才能设计出视听特效、动静结合、人机交互的icrosoftASP脚本 普遍存在的问题是程序员在编写ASP脚本时,缺少或没有对客户端输入的数据/变量进行严格的合法性分析。因此,如果攻击者输入某些特定sql语句,可能造成数据库资料丢失/泄漏/甚至威胁整个站点的安全。比如攻击者可以任意创建或者删除表(如果可以猜测出已存在的表名),清除或者更改数据库数据。攻击者也可能通过执行一些储存过程函数,将sql语句的输出结果通过电子邮
3、件发送给自己,或者执行系统命令。 ③PHP和Perl 虽然提供了加上””(取消特殊字符含义)处理的手段,但是处理一些数据库时依然可以被改写。对于MySQL则没有问题,’不会与前面的单引号封闭,而当作一个合法的字符处理。针对oracle和informix等数据库暂时未进行相关测试。 另外,对于PHP或者Perl语言,很多程序对于数字类型的输入变量,没有加单引号予以保护,攻击者就有可能在这种变量中加入额外的SQL语句,来攻击数据库或者获得非法控制权限。 (2)数据库问题 不同的数据库对安全机制的不同认识和实现方法,使它们的安全性也有所不同
4、。最常见的问题是利用数据库对某些字符的不正确解释,改写被执行的SQL语句,从而非法获得访问权限。 2.大量数据查询导致拒绝服务 许多网站对用户输入内容的判断在前台,用JavaScript判断,如果用户绕过前台判断,就能对数据库进行全查询,如果数据库比较庞大,会耗费大量系统资源,如果同时进行大量的这种查询操作,就会有DenialofService(DoS——拒绝服务)同样的效果。 三、措施与解决方案 通过查阅一些资料,下面介绍一些网页制作中安全防范的方法,以供大家参考。 1.防范脚本攻击 (1)JS脚本和HTML脚本攻击的防范其实很简单,
5、只要用server.HTMLEncode(Str)就可以了。当然全以<%=uid%>过滤,为了方便的过滤,只需要将HTML脚本和JS脚本中的几个关键字符过滤掉就可以了,如下代码所示: 以下是过滤函数CHK() <% functionCHK(fqyString) fqyString=replace(fqyString,“>”,“>”) fqyString=replace(fqyString,“<”,”<“) fqyString=replace(fqyString,“#”,“”) fqyString=Replace(fqyString,C
6、HR(32),“”) fqyString=Replace(fqyString,CHR(9),“”) fqyString=Replace(fqyString,CHR(34),“”“) fqyString=Replace(fqyString,CHR(39),”‘“) fqyString=Replace(fqyString,CHR(13),”“) fqyString=Replace(fqyString,CHR(10)CHR(10),”</P><P>“) fqyString=Replace(fqyString,CHR(10),”<BR>“)
7、CHK=fqyString endfunction %> (2)很多站点在用户注册,或者是用户资料修改的页面上也缺少脚本的过滤,或者是只在其中之一进行过滤,注册进入后修改资料仍然可以进行脚本攻击。对用户提交的数据进行检测和过滤如以下代码: IfInstr(request(”username“),”=“)>0or Instr(request(”username“),”%“)>0or Instr(request(”username“),chr(32))>0or Instr(request(”username“),”?“)>0or ……
8、 Instr(request(”username“),”>“)>0or Instr(request(”username“