C#登录页面验证码刷新

验证码生成页面  png.aspx

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Maticsoft.Web.Admin
{
    public partial class png : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string checkCode = CreateRandomCode(4);
            Session["CheckCode"] = checkCode;
            CreateImage(checkCode);
        }
        private string CreateRandomCode(int codeCount)
        {
            // 函数功能:产生数字和字符混合的随机字符串
            string allChar = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            char[] allCharArray = allChar.ToCharArray();
            string randomCode = "";
            Random rand = new Random();
            for (int i = 0; i < codeCount; i++)
            {
                int r = rand.Next(61);
                randomCode += allCharArray.GetValue(r);
            }
            return randomCode;
        }
        private void CreateImage(string checkCode)
        {
            // 生成图象验证码函数
            int iwidth = (int)(checkCode.Length * 11.5);
            System.Drawing.Bitmap image = new System.Drawing.Bitmap(iwidth, 20);
            Graphics g = Graphics.FromImage(image);
            Font f = new System.Drawing.Font("Arial", 10, System.Drawing.FontStyle.Bold);
            Brush b = new System.Drawing.SolidBrush(Color.Azure); //字母白色
            //g.FillRectangle(new System.Drawing.SolidBrush(Color.Blue),0,0,image.Width, image.Height);
            g.Clear(Color.Brown);//背景灰色
            g.DrawString(checkCode, f, b, 3, 3);
            Pen blackPen = new Pen(Color.Black, 0);
            Random rand = new Random();
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

            Response.ClearContent();
            Response.ContentType = "image/Jpeg";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            image.Dispose();
        }
    }
}

登录页面放入图片

<asp:Image ID="Image1" runat="server" ImageUrl="png.aspx" onclick="refresh(this, ‘png.aspx‘);"/>

js脚本

function refresh()
        {
            var url = "png.aspx?id=";
            var r = Math.random() * 1000;
            url = url + r;
            document.all("Image1").src = url;
            document.all("LoI_txtVC").value = "";
            document.all("LoI_txtVC").focus();
            return false;
        }</script>

登录判断验证码  TextBox3为验证码输入框

if (base.Session["CheckCode"] == null)
            {
                Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscripts", "<script>alert(\"验证码已过期!\");</script>");
                return;
            }
            if (TextBox3.Text != Session["CheckCode"].ToString())
            {
                Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscripts", "<script>alert(\"验证码不正确!\");</script>");
                return;
            }
时间: 2024-10-04 19:58:39

C#登录页面验证码刷新的相关文章

自动化测试--登录页面验证码问题

对于web应 用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来 说使用验证码可以有效果的防止采用机器猜测方法对口令的刺探,在一定程度上增加了安全性.但对于测试人员来说,不管是进行性能测试还是自动化测试都是一个 棘手的问题. 下面来谈一下处理验证码的几种方法. 去掉验证码 这是最简单的方法,对于开发人员来说,只是把验证码的相关代码注释掉即可,如果是在测试环境,这样做可省去了测试人员不少麻烦,如果自动化脚

登录页面验证码实现-asp.net

前端添加的标签和方法: 验证码:<input id="txtVerifyCode" type="text" maxlength="5" style="line-height: 30px; height: 30px; width: 80px;border:solid 1px #d4d4d4;" class="input"/>&nbsp<img src="" alt

react ~2.登陆页面验证码的获取传递与刷新

import React from 'react'; import { withRouter } from 'react-router-dom'; import { Form, Input, Icon, Checkbox, Row, message } from 'antd'; import { fetchPost, fetchGet } from '@common/js/Fetch.js'; import fbank from '../images/fbank.png'; import '..

局部刷新登录页面的实现方法

局部刷新的登录就是在一个页面上有一个登录框,登录之后交给后台异步处理,处理完成之后会在前端显示出来登录的用户信息,最常见的例子就是登陆优酷的时候我们可以看到URL登录之后没有变化(事实上,优酷用的方式不是局部刷新的方式,很明显可以看到整个页面刷新了,所以优酷的实现方式就是不是局部刷新,但是一时间没有找到例子).最近打算做一个博客的网站的项目,登录这里想要提供给用户提供一个更加良好的体验,就想到了利用ajax实现局部刷新,但是又想到了第二次登录的时候会需要判断登录过之后需要直接显示用户信息而不是登

登录页面动态验证码的设置

登录页面动态验证码的设置 采用php中创建对象的思想进行动态验证码的设置 1.创建出一个背景图片,用来存放动态码输出位置 1 function createImage(){ 2 // 创建图片对象,并设置图片的宽高 imagecreatetruecolor 3 $this->image = imagecreatetruecolor($this->width, $this->height); 4 // 图片创建背景颜色 5 // rand(下界,上界), php中的随机数 6 $backg

单点登录CAS使用记(四):为登录页面加上验证码

CAS默认的登录页面样式如下,只有用户名与密码两项验证项目. 现在需要为首页登录加上验证码功能. 第一步:首页对默认登录页面的样式进行了调整,使其看上去还算美观. 在页面上加上了验证码项目. 第二步:导入验证码生成工具包及生成验证码配置 pom.xml中加入如下配置 <dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</artifactId> &l

QWebFramewok使用教程之-(三)自定义带验证码的登录页面

框架中自带了一个登录简单的界面Login.aspx,用于快速开发.如果对界面有要求的可以自己定义登录页面风格. 实现的原理很简单,做好页面UI后,后台代码使用框架自带用户登录验证的接口即可. 验证接口:QWebFramework.Services.UserServices.GetInstance().CheckedUserLogin(userName, passWordEncrypt, true); 以下为演示的代码: 1.新建立一个登录页面:DemoLogin.aspx,为了方便起见,演示代码

Java使用SSM框架实现登录页面的验证码功能

最终效果展示: 代码展示: 1.前端登录页面代码展示 <div class="form-group"> <div class="input-icon"> <i class="fa fa-picture-o"></i> <input class="form-control" style="width:180px;" type="text"

实现带有验证码的简易登录页面

需求: 1. 访问带有验证码的登录页面login.jsp 2. 用户输入用户名,密码以及验证码. * 如果用户名和密码输入有误,跳转登录页面,提示:用户名或密码错误 * 如果验证码输入有误,跳转登录页面,提示:验证码错误 * 如果全部输入正确,则跳转到主页success.jsp,显示:用户名,欢迎您 login.jsp页面代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %&g