未防注入//0.0

/**
*这里代码应用场景为多类用户登录,根据用户选择不同的单选按钮判断用户登录的类型,
*从而进行不同的数据表进行判断,用户的用户名和密码是否正确。
*/
 public partial class _Default : System.Web.UI.Page
{
public string USER = "", PASSWORD = "";//过滤用户的输入
public int TYPE = -;//验证用户选择的类型,初始值-1
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
username.Text = "";
password.Text = "";
}
}
protected void Button1_Click(object sender, EventArgs e)//判断用户选择的身份,进行相应的调用函数
{
switch (xz.SelectedValue)
{
case "": login(); break;
case "": login(); break;
case "": login(); break;
}
}
protected void Button2_Click(object sender, EventArgs e) //根据用户选择的身份,跳转到相应的注册页面
{
switch (xz.SelectedValue)
{
case "":Server.Transfer("zhuce.aspx"); break;
case "": Server.Transfer("teachaerzhuce.aspx"); break;
case "": Response.Write("<script>alert('管理员注册未开放!');</script>"); break;
} }
protected void login(int TYPE)//传人用户选择的类型,执行不同的操作
{
string Type = "";
switch (TYPE)
{
case : Type = "同学"; break;
case : Type = "老师"; break;
case : Type = "adminsitrator"; break;
}
USER = username.Text;
PASSWORD = password.Text;
if (yz(TYPE, USER, PASSWORD))//调用yz()函数进行判断
{
if (Type != "adminsitrator")
Response.Write("<script>alert('欢迎 " + Type + " 回家!');</script>");
Session["id"] = USER.ToString() ;
Session["bz"] = "yes";//标志
switch (TYPE)
{
case : Server.Transfer("students.aspx"); break;
case : Server.Transfer("teacher.aspx"); break;
case : Response.Write("<script>alert('Sorry,administrator 回家了!');</script>"); break;
}
}
else
{
Response.Write("<script>alert('sorry,username or password error!');</script>"); } }
protected bool yz(int TYPE, string USER, string PASSWORD)//根据选则的用户身份,进行验证数据库,成功TRUE,失败FALSE
{
string Type = "";
switch (TYPE)
{
case : Type = "stu_"; break;
case : Type = "tea_"; break;
case : Type = "admin_"; break;
}
string sqlstr = "select * from " + Type + " where " + Type + "user='" + USER + "' and " + Type + "pass='" + DB.MD5Encrypt(PASSWORD) + "';";
DB db = new DB();//DB类用来对数据库的操作 MySqlDataReader selectcom = db.Select1(sqlstr);
while (selectcom.Read())
{
return true;
}
return false;
}
}

asp+mysql__不同类型用户登录的更多相关文章

  1. Asp.Net MVC记住用户登录信息 下次登录无需输入密码

    有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的Demo ...

  2. ASP.NET 拼多多用户登录授权后使用code去换取access_token

    一.拼多多开放平台 由于本人刚毕业进公司实习 遇到一些问题然后想通过博客来记录和分享给大家一起学习. 第一次写博客没什么经验不是写的很好 请大家多多关照 嘴下留情哈哈 谢谢! 好了 话不多说直接进入主 ...

  3. Asp.net mvc验证用户登录之Forms实现

    这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_S ...

  4. ASP.NET MVC3 实现用户登录验证

    自定义一个授权筛选器类,继承于AuthorizeAttribute: using System; using System.Web; using System.Web.Mvc; namespace M ...

  5. [Asp.Net MVC4]验证用户登录实现

    最近我们要做一个仿sina的微博,碰巧的是我最近在学习mvc,就想用mvc技术实现这个项目. 既然是微博,那不用想也应该知道肯定要有用户登陆,但是和常规的asp.net登陆又不一样,以下是我一下午+一 ...

  6. ASP.NET Core 实现用户登录验证的最低配置

    背景是在一个项目中增加临时登录功能,只需验证用户是否登录即可,所需的最低配置与实现代码如下. 在 Startup 的 ConfigureServices() 方法中添加 Authentication ...

  7. .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

    在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销

    上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...

  9. ASP.net 实现禁止用户重复登录

    本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...

随机推荐

  1. hello Cookie

    Cookie 是什么? Cookie在浏览器中的表现为请求头域和响应头域的字段,也就是伴随着请求和响应的一组键值对的文本.Cookie来源于服务器,第一次请求无Cookie参数,增加Cookie通过服 ...

  2. [转]java反射机制

    原文地址:http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 一.什么是反射机制         简单的来说,反射机制指的是程序在运 ...

  3. Shell命令_文件系统常用命令df、du

    一.df(文件系统查看命令) [root@localhost ~]# df [选项] [挂载点] 选项: -a 显示所有的文件系统信息,包括特殊文件系统,如 /proc. /sysfs -h 使用习惯 ...

  4. hadoop,mapreduce---分布式计算

    从图中可以看出,map阶段的shuffle: 例如word count,当内存缓冲区满的时候会写到磁盘,一个spill,每个spill,进行分区,排序,最后将同一个分区word合并在一起,写入到磁盘中 ...

  5. web前端开发必懂之一:JS继承和继承基础总结

    首先,推荐一篇博客豪情的博客JS提高: http://www.cnblogs.com/jikey/p/3604459.html ,里面的链接全是精华, 一般人我不告诉他; 我们会先从JS的基本的设计模 ...

  6. PyQt之布局&无边框&信号

    这个例子相对综合一些,包括qt的布局,实现无边框效果,无边框也就是没有了窗口的title栏,没有title栏就不能拖动了, 所以我们进一步讲如何实现拖动.通过这边文章你可以掌握qt的布局,窗口定制,重 ...

  7. 引入AOP 报错 error at ::0 formal unbound in pointcut

    使用了AOP 后启动报错 九月 27, 2016 2:29:46 下午 org.springframework.context.support.AbstractApplicationContext r ...

  8. js学习笔记2---HTML属性操作

    1.HTML属性操作:读.写 属性名 属性值   2.属性读操作:获取.找到 a) 语法:元素.属性名 如:document.getElementById(“btn”).value; b) 字符串的连 ...

  9. 68.Android之透明状态栏

    转载:http://www.jianshu.com/p/2f17d0e7f6b0 Android开发中需要透明状态栏,注意:本文只适配Android4.4以上及5.0以上设备 概述 有时候我们想在 a ...

  10. 7款应用最广泛的Linux桌面环境盘点

    转载:http://top.jobbole.com/34823/ 多样性应该是 Linux 最好的特性之一,用户可以不断尝试各种喜欢和新鲜玩法与花样,并从中找出最适合自己的应用.无论你是 Linux ...