对于web编程中,安全是一项时刻都要注意的问题。在敲击牛腩的时候遇到的防止sql注入,md5转换明文密码为暗文等操作都是应对web编程安全问题提出的。
为此从网上查阅一些关于web安全方面的资料,对一些web安全问题简单了解了一下。
- SQL注入
最简单的用户验证如果采用简单的select语句:select userName from USER where userName=1 and pwd=1,当用户在文本框中输入 user or 1=1;pwd or 1=1时,组合成的select语句便成为select userName from USER where userName =user or 1=1 and pwd=pwd or 1=1,此时,入侵者不用正确的用户名和密码便可以登录了。
- 反射型XSS漏洞
- 保存型XSS漏洞
- 重定向漏洞
当一个程序允许用户执行一个重定向的数据输入,指示浏览器指定一个不同于用户要求的URL时,就会发生此类型的漏洞。
通过对上面web编程的几类常见漏洞的简单认识,我们知道web开发并不是简简单单的能够实现功能就可以了,我们必须要针对不同的系统漏洞提出合理的解决方案,这就要求我们在编码的过程中不断积累,不断提高自己安全编程的习惯。
MD5即Message-Digest Algorithm 5,中文名称为:信息-摘要算法5,通过一种压缩方式,将用户输入的密码以暗文的方式在程序中传输。
简单应用:
//引用
using System.Text;
using System.Security.Cryptography;
byte[] result = Encoding.Default.GetBytes(textBox1 .Text .Trim()); //获得用户输入密码此外,数据加密也在随着社会发展不断被提出新要求,除了MD5算法外,还有SHA1算法、对称加密(DES、AES)、非对称加密算法(RSA)等等。
MD5 md5 = new MD5CryptoServiceProvider(); //定义密码服务提供者
byte[] output = md5.ComputeHash(result); //执行哈希算法进行加密
textBox2.Text = BitConverter.ToString(output).Replace("-", ""); //设置输出方式
总结:
牛腩操作系统让我对web编程的学习拉开了起始线,从一个实例出发进行学习可以一下子吸引我们的兴趣,但它的每一个细节让我们进行放大的话都会有很多未知的东西,这个时候,整理思考未知的知识对我们以后的学习帮助会很大的。文章借鉴: