Maison développement back-end Tutoriel C#.Net Explication détaillée d'asp.net utilisant ashx pour implémenter la fonction de code de vérification

Explication détaillée d'asp.net utilisant ashx pour implémenter la fonction de code de vérification

Aug 15, 2017 pm 01:54 PM
asp.net 验证

Cet article présente principalement la méthode d'asp.net utilisant ashx pour générer du code de vérification graphique. Il analyse les étapes, les méthodes de mise en œuvre et les précautions associées d'asp.net pour générer du code de vérification graphique sous forme d'exemples. référez-vous à lui

L'exemple de cet article décrit comment asp.net utilise ashx pour générer des codes de vérification graphiques. Je le partage avec vous pour votre référence, les détails sont les suivants :

Je n'ai pas besoin d'expliquer les avantages des codes de vérification, vous le savez tous. J'ai vu sur Internet que quelqu'un avait écrit le code de vérification directement dans la page aspx, ce qui signifie que demander le code de vérification de cette manière équivaut à demander une page. Ce n'est pas très scientifique. Comme indiqué ci-dessous


<form id="form1" runat="server">
  <p>
    <asp:Image ID="Image1" runat="server" ImageUrl="Default.aspx" />
    <br />
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
  </p>
</form>
Copier après la connexion

En regardant ce code, je pense que la personne qui a écrit le code mérite d'être battue. C'est vraiment déprimant d'écrire le code comme ça. Vérifiez-le et n'écrivez pas de script pour changer.

Permettez-moi de vous présenter un moyen d'implémenter une telle fonction

1 Écrivez un ashx pour générer un code de vérification graphique


using System;
using System.Collections;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
using System.Web.SessionState;
using System.Drawing;
namespace usechecknum.ashx
{
  /// <summary>
  /// $codebehindclassname$ 的摘要说明
  /// </summary>
  [WebService(Namespace = "http://tempuri.org/")]
  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  public class doCreateNum : IHttpHandler,IRequiresSessionState
  {
    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/html";
      string checkCode = GetValidation(5); // 产生5位随机验证码字符
      context.Session["Code"] = checkCode; //将字符串保存到Session中,以便需要时进行验证
      System.Drawing.Bitmap image = new System.Drawing.Bitmap(70, 22);
      Graphics g = Graphics.FromImage(image);
      try
      {
        //生成随机生成器
        Random random = new Random();
        //清空图片背景色
        g.Clear(Color.White);
        // 画图片的背景噪音线
        int i;
        for (i = 0; i < 25; i++)
        {
          int x1 = random.Next(image.Width);
          int x2 = random.Next(image.Width);
          int y1 = random.Next(image.Height);
          int y2 = random.Next(image.Height);
          g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
        }
        Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold));
        System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2F, true);
        g.DrawString(checkCode, font, brush, 2, 2);
        //画图片的前景噪音点
        g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        context.Response.ClearContent();
        context.Response.ContentType = "image/Gif";
        context.Response.BinaryWrite(ms.ToArray());
      }
      finally
      {
        g.Dispose();
        image.Dispose();
      }
    }
    public string GetValidation(int num)
    {
      string str = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //"或者写汉字也行"
      string validatecode = "";
      Random rd = new Random();
      for (int i = 0; i < num; i++)
      {
        validatecode += str.Substring(rd.Next(0, str.Length), 1);
      }
      return validatecode;
    }
    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }
}
Copier après la connexion
<🎜. > 2. Affichez le code de vérification sur la page. Comme nous générons des graphiques, nous pouvons l'écrire directement dans la balise . Il suffit d'écrire un simple script pour changer le code de vérification d'un simple clic de souris.


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="usechecknum._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>验证码的使用</title>
</head>
<script language="javascript" type="text/javascript">
  function changeCode() {
    var imgNode = document.getElementById("vimg");
    imgNode.src = "ashx/doCreateNum.ashx?t=" + (new Date()).valueOf(); // 这里加个时间的参数是为了防止浏览器缓存的问题
  }
  </script>
<body>
  <form id="form1" runat="server">
   请输入验证码:<input type="text" name="checknum"/><img src="ashx/doCreateNum.ashx" id="vimg" onclick="changeCode()" />
  </form>
</body>
</html>
Copier après la connexion
Après avoir longuement parlé, il est temps de voir à quoi ressemble le code de vérification généré

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la signature dans un PDF Comment vérifier la signature dans un PDF Feb 18, 2024 pm 05:33 PM

Nous recevons généralement des fichiers PDF du gouvernement ou d'autres agences, certains avec des signatures numériques. Après avoir vérifié la signature, nous voyons le message SignatureValid et une coche verte. Si la signature n'est pas vérifiée, la validité est inconnue. La vérification des signatures est importante, voyons comment le faire en PDF. Comment vérifier les signatures au format PDF La vérification des signatures au format PDF le rend plus fiable et le document est plus susceptible d'être accepté. Vous pouvez vérifier les signatures dans les documents PDF des manières suivantes. Ouvrez le PDF dans Adobe Reader Cliquez avec le bouton droit sur la signature et sélectionnez Afficher les propriétés de la signature Cliquez sur le bouton Afficher le certificat du signataire Ajoutez la signature à la liste des certificats de confiance à partir de l'onglet Confiance Cliquez sur Vérifier la signature pour terminer la vérification.

Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Méthode détaillée pour débloquer à l'aide de la vérification assistée par un ami WeChat Mar 25, 2024 pm 01:26 PM

1. Après avoir ouvert WeChat, cliquez sur l'icône de recherche, entrez dans l'équipe WeChat et cliquez sur le service ci-dessous pour entrer. 2. Après avoir entré, cliquez sur l'option outil libre-service dans le coin inférieur gauche. 3. Après avoir cliqué, dans les options ci-dessus, cliquez sur l'option de déblocage/appel pour vérification auxiliaire.

Comment valider le code IFSC à l'aide d'expressions régulières ? Comment valider le code IFSC à l'aide d'expressions régulières ? Aug 26, 2023 pm 10:17 PM

Le Code du système financier indien est l'abréviation. Les succursales des banques indiennes participant au système de transfert électronique de fonds sont identifiées par un code spécial à 11 caractères. La Reserve Bank of India utilise ce code dans les transactions Internet pour transférer des fonds entre banques. Le code IFSC est divisé en deux parties. Les banques sont identifiées par les quatre premiers caractères, tandis que les succursales sont identifiées par les six derniers caractères. NEFT (National Electronic Funds Transfer), RTGS (Real Time Gross Settlement) et IMPS (Immediate Payment Service) sont quelques-unes des transactions électroniques qui nécessitent des codes IFSC. Méthode Voici quelques méthodes courantes pour valider les codes IFSC à l'aide d'expressions régulières : Vérifiez si la longueur est correcte. Vérifiez les quatre premiers caractères. Vérifiez le cinquième caractère. Che

Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Nouvelles fonctionnalités de PHP 8 : ajout de la vérification et de la signature Mar 27, 2024 am 08:21 AM

PHP8 est la dernière version de PHP, apportant plus de commodité et de fonctionnalités aux programmeurs. Cette version met un accent particulier sur la sécurité et les performances, et l'une des nouvelles fonctionnalités remarquables est l'ajout de capacités de vérification et de signature. Dans cet article, nous examinerons de plus près ces nouvelles fonctionnalités et leurs utilisations. La vérification et la signature sont des concepts de sécurité très importants en informatique. Ils sont souvent utilisés pour garantir que les données transmises sont complètes et authentiques. La vérification et les signatures deviennent encore plus importantes lorsqu'il s'agit de transactions en ligne et d'informations sensibles, car si quelqu'un est capable de falsifier les données, cela pourrait potentiellement

Comment vérifier si l'entrée est en majuscules dans Golang Comment vérifier si l'entrée est en majuscules dans Golang Jun 24, 2023 am 09:06 AM

Golang est un langage de programmation moderne et performant qui implique souvent le traitement de chaînes dans le développement quotidien. Parmi eux, valider si la saisie est en lettres majuscules est une exigence courante. Cet article explique comment vérifier si l'entrée est constituée de lettres majuscules dans Golang. Méthode 1 : utilisez le package Unicode Le package Unicode de Golang fournit une série de fonctions pour déterminer le type de codage des caractères. Pour les lettres majuscules, la plage de codage correspondante est 65-90 (décimal), nous pouvons donc utiliser Unicode

Comment vérifier si l'entrée est constituée de caractères pleine chasse dans Golang Comment vérifier si l'entrée est constituée de caractères pleine chasse dans Golang Jun 25, 2023 pm 02:03 PM

Dans Golang, le codage Unicode et le type de rune sont requis pour vérifier si l'entrée est constituée de caractères pleine chasse. Le codage Unicode est une norme de codage de caractères qui attribue un point de code numérique unique à chaque caractère du jeu de caractères, qui comprend des caractères pleine chasse et des caractères demi-chasse. Le type rune est le type utilisé pour représenter les caractères Unicode en golang. La première étape consiste à convertir l’entrée en une tranche de type rune. Cela peut être converti en utilisant le type []rune de Golang, par exemple.

Comment résoudre le problème de la connexion Steam bloquée lors de la vérification du jeton mobile ? Comment résoudre le problème de la connexion Steam bloquée lors de la vérification du jeton mobile ? Mar 14, 2024 pm 07:35 PM

Steam est une plate-forme utilisée par les passionnés de jeux. Vous pouvez acheter et acheter de nombreux jeux ici. Cependant, récemment, de nombreux utilisateurs sont restés bloqués dans l'interface de vérification des jetons mobiles lors de la connexion à Steam et ne peuvent pas se connecter avec succès. savoir comment résoudre cette situation. Cela n'a pas d'importance. Le didacticiel du logiciel d'aujourd'hui est là pour répondre aux questions des utilisateurs. Les amis dans le besoin peuvent consulter les méthodes de fonctionnement. Erreur de jeton mobile Steam ? Solution 1 : Pour les problèmes logiciels, recherchez d'abord les paramètres du logiciel Steam sur le téléphone mobile, demandez la page d'assistance et confirmez que le réseau utilisant l'appareil fonctionne normalement, cliquez à nouveau sur OK, cliquez sur Envoyer SMS, vous pouvez recevoir le code de vérification sur le page de téléphone mobile, et vous avez terminé. Vérifiez, résolvez lors du traitement d'une demande.

Méthode d'expression régulière PHP pour vérifier le début et la fin d'une chaîne spécifique Méthode d'expression régulière PHP pour vérifier le début et la fin d'une chaîne spécifique Jun 24, 2023 am 11:20 AM

PHP est un langage de programmation très populaire couramment utilisé pour le développement Web. Dans le développement PHP, nous rencontrons souvent des situations où nous devons vérifier des chaînes. Parmi elles, les expressions régulières sont une méthode très couramment utilisée. Lors de la validation de chaînes, nous devons souvent vérifier si la chaîne commence ou se termine par un caractère ou une chaîne spécifique. Cet article explique comment utiliser les expressions régulières PHP pour vérifier le début ou la fin d'une chaîne. Vérifier le début de la chaîne En PHP, vérifiez le début de la chaîne via des expressions régulières Nous pouvons utiliser le symbole "^" pour représenter.

See all articles