网页代码(精选三篇)
网页代码 篇1
计算机网络已普及到社会各个领域,各种类型的网站迅速增长。这些网站给人们带来各种便利的同时,它们自身可能隐藏着众多的安全隐患,可能会造成不堪设想的后果。因此,网站安全是一个网站开发人员必须重视的问题。
2 网页代码中执行SQL命令的安全隐患及对策
2.1 数据验证不严格
如果网站开发者在网站的开发过程中进行网页程序代码设计时不严谨,那么,网站就可能存在数据库被他人非法入侵及控制的安全隐患。请看下面的网页代码:
显而易见,这段代码用来修改用户口令。假如网站入侵者浏览该页面时在网页的用户名文本框中输入这样的一个用户:mm’;exec sp_addlogin'xixi,同时在密码文本框中输入要修改的新密码:xinmima,那么,上面的代码实际运行时会是什么样的情况呢?执行时变量Sqlstring中的值为:update yongh set password='xinmima'where name=mm’;exec sp_addlogin'xixi'。也就是说,入侵者随意输入的用户名mm在数据库中根本不存在,因此也就不存密码被修改的问题。但是,入侵者在mm后面输入的内容’;exec sp_addlogin'xixi才是其本意。此语句执行时,在毫无察觉的情况下,网站数据库已经被添加了一个新的登录名:xixi。实际上,对上面实例中输入的用户名稍加修改就可以运行任何sql语句,比如添加登录用户,然后就可以进行诸如数据的删除、口令的存取等非法操作。该案例可以看出,程序设计不严密可能带来的后果是多么可怕。
上面示例存在的安全隐患是完全可以预防的。如果在网页代码中要使用参数,尤其是用户输入的参数,就必须在网页代码中对其数据类型、数据长度、甚至数据内容按照一定的要求进行严格检查,从而避免上述情况的发生。
2.2 万能密码漏洞
请阅读分析下面的网页功能代码:
上面代码段的功能是实现登录,其中同样存在着严重的安全隐患。假如入侵者在用户名和密码文本框中分别输入Admin和sy'or'1'='1,那么,上述页面代码在执行时Sqlstrin的值为:select name,password from yonghu where name='admin and password='sy'or'1'='1'。条件表达式name='Admin'and password='sy'or'1'='1'恒成立。于是,网站入侵者就可以这样的万能密码轻易地登录网站系统并进行非法操作。
预防万能密码攻击的正确代码可以这样编写:
2.3 SQL injection攻击
2.3.1 SQL injection
SQL injection利用网站提供的数据检验不严谨的数据输入接口来达到入侵网站的目的。很多情况下,动态网站的某些功能会需要用户输入一些数据,比如,用户注册、登录、数据查询等。但遗憾的是,很多网站却没能做到对网站使用者输入的这些数据进行严格的检验,此类网站就很容易受到SQL injection攻击。
请看下面的语句:
命令中,变量User_Name和Pass中存储登录用户输入的名称和口令。显然,此语句实现的是网站对登录用户输入的登录名及口令数据进行验证的功能。这种数据验证的方式在实际应用中很常见,可能不觉得有什么问题。然而,如果仔细分析,就会发现此语句中存在严重的安全隐患。
假设在网站数据库中存在一个合法的管理员用户,其名称和口令分别是:uuu和ppp。若网站入侵者已经获知数据库中存在这个名为“uuu”的管理员。此时,如果该入侵者在网页登录页面中输入登录名和口令:uuu’—和***后(***代表任意的字符串),上述语句执行时就成了下面的形式:
SQL语句中“--”表示此符号后面的部分为注释语,因此,该命令实际上就绕开了对登录口令的判断直接成功登录。同样道理,如果网站入侵者预先知道数据库系统中存在大家都很熟悉的管理员账户:Admin,登录时只需输入Admin'—,即可不需要密码登录系统。
2.3.2 SQL injection防御
可以利用SQL中的存储过程来对上述攻击进行防御。比如编制下面的存储过程:
该存储过程中定义了两个varchar类型的输入参数@Us er_Name和@Pass。输入参数用于实现存储过程的调用者把数据传递到存储过程中,传递过程中这些被传递的数据是独立的。上述存储过程被调用执行时,入侵者输入的数据uuu’--将被整体独立地传递给@User_Name,即name被赋值:uuu’--,同时,密码***也被整体独立地传递给@Pass,即password被赋值:***。用这种方式传递数据就避免了输入数据的重新组合。于是,上例数据验证语句就正确地表示成:select*from yongh where name=’uuu—’and password=’***’。通过上例可以看到,存储过程不仅可以实现对数据库的高效访问,而且也很好地实现了对SQL injection的防御。同时在使用存储过程时还可以对其访问权进行设置,这样可以进一步保障网站代码的安全。
3 结语
网页代码中执行SQL命令可能存在的安全隐患是网站开发者必须要认真加以对待的问题。网站开发人员只有具备了专业的开发技术、高度的安全意识、严谨的开发过程,才能最大限度地保证网站系统的安全。
摘要:计算机网络的应用已经进入各行各业,动态网站的数量迅速增长,众多网站中存在着大量的安全隐患。通过几个实例,对网页代码中执行SQL命令时存在的安全隐患进行分析,并给出解决问题的对策。
关键词:网页代码,SQL命令,安全隐患,对策
参考文献
[1]武淑鹏.网站中的SQL注入攻击及防范措施.消费电子,2013,(16).
[2]许礼捷.网站安全防范技术的研究.沙洲职业工学院学报,2013,(2).
网页代码 篇2
提示:您可以先修改部分代码再运行,复制代码和保存代码功能在Firefox下无效,
网页特效(鼠标特效代码):显示鼠标坐标信息代码
清华大学主页网页设计代码 篇3
代码为:
【网页代码】相关文章:
网页留言板制作代码05-01
网页特效(背景特效代码):适时变换网页背景和文字颜色06-28
网页特效(文字特效代码):按钮控制首字母全改为大写js脚本04-27
js代码改写成jq代码的方法07-06
部门代码07-19
控制代码06-09
自动代码08-06
代码测试08-25
代码开发09-05