欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【初学ASP编程易犯的一个错误要注意】,下面是详细的分享!
初学ASP编程易犯的一个错误要注意
在ASP编程中,身份认证可以说是常要用到的。但怎么样才能做到认证的安全呢?
表单提交页面:sub.htm
| 以下为引用的内容:
<html> |
| 以下为引用的内容:
SUB.asp程序 |
大家感觉以上代码应该没问题啊,但是这里有一个严重的安全隐患:
我如果想登录管理员的话可以在SUb.htm表单输入框中输入:
第一个文本框中输入:a or 1=1 或 OR=
第二个文本框中输入:a or 1=1 或 OR=
提交,大家会看到...“呜,听我说完好不好,砖头一会再丢过来..."
"a " 和“1”为任意字符
有人会问为什么你输入这些字符会以管理员身份进入呢??
其实这些字符是对你程序中SQL语言的欺骗,而成功进入的
大家看:开始程序SQL中是对表进行查询满足user="&user&" and pass="&pass&" "条件的记录
sql="select * from 表 where user="&user&" and pass="&pass&" "
我而输入上面的代码后就成了:
sql="select * from 表 where user=a or 1=1 and pass=a or 1=1 "
大家看看,能有不进入的理由吗??给我一个不进入的理由,先!
以上USER PASS字段为字符型 如果是数字型也一样的道理!
解决方法:
一、函数替代法:
用REPLACE将用户端输入的内容中含有特殊字符进行替换,达到控制目的啊!sql="select * from 表 where user="&replace(user," "," ")&" and pass="&replace(pass," "," ")&" "
这种方法每次只能替换一个字符,其实危险的字符不只是" ",还有如">"、"<"、"&"、"%"等字符应该全控制起来。但用REPLACE函数好象不太胜任那怎么办呢??
二、程序控制法
用程序来对客户端输入的内容全部控制起来,这样能全面控制用户端输入的任何可能的危险字符或代码,我就的这个方法!
| 以下为引用的内容:
<% |
以上所分享的是关于初学ASP编程易犯的一个错误要注意,下面是编辑为你推荐的有价值的用户互动:
相关问题:编程初学者应干些什么?
答:如果是初学者的话可以先学一学VB或者C语言,它们操作简单实用 也能编软件,很实用,很方便。 如果年龄小一点的话就先学pascal,主要是学习语法,学好了会对后面的学C语言有很大的帮助。 如果不是初学者可以学习C++,C++相当于是C的升级版,更难... >>详细
相关问题:电脑编程对于一个只懂一点点的初学者难学吗?
答:学习是为了实现学习目的的一种手段,学习本身不是目的。这一点如果您弄清楚了,那么您就可以开始学习编程了。 首首先,你应该有一定的数学和英语水平,当然,这是随你的学习编程的目的本身而决定掌握的程度的。因为数学是实现任何编程目的必须具... >>详细
相关问题:(请进!)关于asp.net编程怎么入门的问题
答:确实,涉及的东西太多了,建议你从前往后慢慢了解起 从前台到后台: HTML CSS JS 浏览器相关 C# asp.net 程序相关 Sql Server 数据库相关 先接触一下HTML和CSS,了解网页的基本特性,各标签的作用,样式单的作用,然后引入JS,也算是简单的面向对... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
