很多网站在进行用户登录时,多会使用人机交互界面完成登录验证。而网站的设计者对验证程序没有做到全面的考虑,这样很容易产生登录验证安全缺陷,造成 Script Language编写程序在对用户账号密码进行验证工作时出现问题。
针对登录验证安全缺陷这个问题,可以通过下面的方法解决:首先在注册用户名和密码时添加注册限制对于非法的用户名和密码不准申请;其次,在利用SQL语句进行登录查询时,我们可以先过滤用户输入的信息,在一定程度上防止非法账号及密码的应用;接下来,在进行用户验证时,不急于对用户名和密码同时进行匹配,而是先对用户名进行验证,等用户名匹配成功之后,再进行密码的验证工作。这样可以减少查询时间,提高查询效率。
SQL注入漏洞的预防
SQL语言是网站设计中必不可少的后台数据库语言。在SQL语言中有一些特殊字符如“*”等,这些特殊字符是为了完成模糊匹配的。可有些网站设计人员在网站设计初始,没有考虑到SQL语言的书写规范和特殊字符的应用,产生SL注入漏洞,导致攻击者通过表单提交中的全局变量GET和POST把SQL语句提交并执行。
针对于这一问題,具体的解决方法包括:可以打开配置文件中的 magc_ quotes_spe和 mage_ quotes_ runtime的设置;设置 resister globals为of;关闭全局变量注册;最后,在给数据库和数据表字段进行命名时,特别是一些重要字段命名时,不要取一些很容易被猜到的名字。例如“姓名”字段最好不要命名为name”字段。
文件上传漏洞的解决方案
文件上传漏洞产生的原因主要是攻击者通过网站上提供的“上传文件"功能,把一些恶意的可执行文件上传至服务器,并通过它获得对服务器的控制权。可以通过下面几个方面来解决文件上传漏洞:首先把文件上传的目录设置为不可执行,这样一来,此目录只能存放文件,不能做其它操作;其次,文件类型的判断。要对上传的文件进行判断,可执行文件等特殊类型的文件不可以上传保存;最后,使用随机数改写文件名和文件路径;单独设置文件服务器的域名。
Web安全加固