Advertisement

QQ登录与注册页面的SQL防注入技巧

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文介绍了在设计QQ登录和注册页面时如何有效防止SQL注入攻击的方法和技术,增强网站安全性。 本人自己制作的登录与注册页面包含SQL防注入功能以及网页查询、插入更新数据库等功能,并且包含了省市三级联动及GridView使用的详细资料。文件大小为2.99 MB (3,143,053 字节),解压后大小为8.04 MB (8,431,678 字节)。 以下是部分代码示例: ### 省市三级联动 ```xml ``` ### SQL防注入 在全局应用程序类中添加如下代码: ```csharp void Application_BeginRequest(object sender, EventArgs e) { //定义SQL关键词列表,用于过滤敏感字符串。 string Sql = and|or|exec|insert|select|delete|update|count|char|truncate|declare|drop|create; //将所有可能的攻击字符进行分割 string[] sql_c = Sql.Split(|); if (Request.QueryString != null) { foreach (string sl in sql_c) { if(Request.QueryString.ToString().IndexOf(sl.Trim()) >= 0)//查询字符串与敏感字符比较,如果匹配则记录IP地址并停止执行。 { Response.Write(警告!你的IP地址: + Request.ServerVariables[Remote_Addr] +已经被记录!不要使用敏感字符!); //获取攻击方的 IP 地址 System.IO.StreamWriter sw = new System.IO.StreamWriter(@c:\a.txt); sw.Write(DateTime.Now.ToString() + IP地址 + Request.ServerVariables[Remote_Addr] + 对网站进行SQL攻击); sw.Close(); Response.End(); //停止该页执行 } } } } ``` ### 存储过程示例: ```sql CREATE PROCEDURE Pro_Login @sno char(5),@password char(20) AS select sno from users where sno=@sno and password=@password GO CREATE PROCEDURE Pro_Score @sno char(5) AS select sno,cno,scgrade from sc where sno=@sno GO ``` ### Default1页面中Button点击事件代码: ```csharp protected void Button1_Click(object sender, EventArgs e) { string str = server=.;Integrated Security=true;DataBase=student; using (SqlConnection sqlconn = new SqlConnection(str)) { try { sqlconn.Open(); SqlCommand cmd = new SqlCommand(Pro_Login,sqlconn); cmd.CommandType=CommandType.StoredProcedure; SqlParameter parm1 = new SqlParameter(@sno, SqlDbType.Char, 5); SqlParameter parm2 = new SqlParameter(@password, SqlDbType.Char, 20); parm1.Direction = ParameterDirection.Input; parm2.Direction = ParameterDirection.Input; parm1.Value = TextBox1.Text; parm2.Value = TextBox2.Text; cmd.Parameters.Add(parm1); cmd.Parameters.Add(parm2); SqlDataReader dr=cmd.ExecuteReader(); if (dr.Read()) { Session[username] = TextBox1.Text; Response.Redirect(Default2.aspx?sno= + TextBox1.Text ); } else Response.Write(用户名或密码错误); } catch(Exception ex) {Response.Write(ex.Message);} } } ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • QQSQL
    优质
    本文介绍了在设计QQ登录和注册页面时如何有效防止SQL注入攻击的方法和技术,增强网站安全性。 本人自己制作的登录与注册页面包含SQL防注入功能以及网页查询、插入更新数据库等功能,并且包含了省市三级联动及GridView使用的详细资料。文件大小为2.99 MB (3,143,053 字节),解压后大小为8.04 MB (8,431,678 字节)。 以下是部分代码示例: ### 省市三级联动 ```xml ``` ### SQL防注入 在全局应用程序类中添加如下代码: ```csharp void Application_BeginRequest(object sender, EventArgs e) { //定义SQL关键词列表,用于过滤敏感字符串。 string Sql = and|or|exec|insert|select|delete|update|count|char|truncate|declare|drop|create; //将所有可能的攻击字符进行分割 string[] sql_c = Sql.Split(|); if (Request.QueryString != null) { foreach (string sl in sql_c) { if(Request.QueryString.ToString().IndexOf(sl.Trim()) >= 0)//查询字符串与敏感字符比较,如果匹配则记录IP地址并停止执行。 { Response.Write(警告!你的IP地址: + Request.ServerVariables[Remote_Addr] +已经被记录!不要使用敏感字符!); //获取攻击方的 IP 地址 System.IO.StreamWriter sw = new System.IO.StreamWriter(@c:\a.txt); sw.Write(DateTime.Now.ToString() + IP地址 + Request.ServerVariables[Remote_Addr] + 对网站进行SQL攻击); sw.Close(); Response.End(); //停止该页执行 } } } } ``` ### 存储过程示例: ```sql CREATE PROCEDURE Pro_Login @sno char(5),@password char(20) AS select sno from users where sno=@sno and password=@password GO CREATE PROCEDURE Pro_Score @sno char(5) AS select sno,cno,scgrade from sc where sno=@sno GO ``` ### Default1页面中Button点击事件代码: ```csharp protected void Button1_Click(object sender, EventArgs e) { string str = server=.;Integrated Security=true;DataBase=student; using (SqlConnection sqlconn = new SqlConnection(str)) { try { sqlconn.Open(); SqlCommand cmd = new SqlCommand(Pro_Login,sqlconn); cmd.CommandType=CommandType.StoredProcedure; SqlParameter parm1 = new SqlParameter(@sno, SqlDbType.Char, 5); SqlParameter parm2 = new SqlParameter(@password, SqlDbType.Char, 20); parm1.Direction = ParameterDirection.Input; parm2.Direction = ParameterDirection.Input; parm1.Value = TextBox1.Text; parm2.Value = TextBox2.Text; cmd.Parameters.Add(parm1); cmd.Parameters.Add(parm2); SqlDataReader dr=cmd.ExecuteReader(); if (dr.Read()) { Session[username] = TextBox1.Text; Response.Redirect(Default2.aspx?sno= + TextBox1.Text ); } else Response.Write(用户名或密码错误); } catch(Exception ex) {Response.Write(ex.Message);} } } ```
  • QQ
    优质
    简介:QQ注册与登录页面是用户开始使用腾讯QQ即时通讯服务的第一站。在这里,新用户可以轻松完成账号创建;已注册用户则能通过输入账号信息快速进入聊天环境,便捷地享受社交网络功能。 这个注册页面的代码非常强大且详细,结构清晰,条理分明,适合学生参考。请注意该内容并非原创。
  • 优质
    登录与注册页面是网站或应用中的基础功能模块,为用户提供账号管理服务。通过该页面,新用户可以创建账户并获取访问权限;已注册用户则能输入凭据进入个人空间,使用各项功能和服务。 动态登录界面包含独特的雪花飘零特效,页面上的雪花飘动非常逼真且层次感明显。此外还有鼠标互动效果。因此我提取了这些元素与大家分享。
  • .zip
    优质
    本资源包含一个简单的登录和注册功能的网页设计文件。用户可以通过填写表单完成账号的创建或访问个人账户,适用于初学者学习网页开发的基础操作。 博主收集了一些设计精美且实用的登录注册界面。
  • .zip
    优质
    该文件包含一个应用程序或网站的用户注册和登录界面的设计与实现方案,包括功能说明、交互流程及视觉设计等内容。 注册登录等页面.zip 这段描述似乎指的是一个包含注册和登录界面的文件压缩包。如果需要进一步的信息或有特定的问题,请告知。
  • JSP
    优质
    本项目展示了如何使用Java Server Pages (JSP)技术来创建用户登录和注册功能的网页。通过简洁的设计实现基本的用户认证流程。 JSP登录注册页面的设计与实现需要考虑用户体验、安全性以及功能性等多个方面。在设计过程中应确保输入验证的完善性,以防止SQL注入和其他常见的安全问题;同时提供清晰明了的操作指引帮助用户顺利完成账号创建或登陆流程。 对于前端界面而言,则需注重简洁美观且易于操作的原则,使新用户能够快速理解并使用该系统提供的各项功能。此外,在注册时还应设置必要的信息提示和错误反馈机制来提升整体交互体验的质量与效率。 在后端处理中则要保证数据的安全传输以及合理的权限控制策略。 总之,一个成功的JSP登录注册页面应当是既安全又友好的界面设计结合高效稳定的后台支撑所构成的整体解决方案。
  • .rp
    优质
    本页面提供用户登录和注册功能,支持新用户创建账号并访问各项服务,同时为已注册用户提供便捷的安全验证入口。 原型教程可以在相关技术博客或平台上找到。该教程详细介绍了如何创建和使用原型进行软件开发的过程,适合初学者学习参考。通过阅读此类文章,读者可以掌握原型设计的基本概念和技术要点,从而在实际项目中更好地应用这些知识。
  • PHP
    优质
    本项目展示如何使用PHP语言创建一个基本的用户登录和注册系统。其中包括验证用户输入、处理表单数据以及存储密码安全等功能。适合初学者学习网站后端开发的基础知识。 简洁的登录注册页面可以实现将注册数据同步到数据库。
  • Java
    优质
    本项目演示了如何使用Java语言创建一个包含用户登录和注册功能的网页应用,提供用户账户管理的基础框架。 用Java编写的用户登录注册页面采用简单的Servlet技术实现,包含增删查改功能。管理员成功登录后可以查看并删除用户信息,整个系统设计简洁明了。