Maison développement back-end Tutoriel C#.Net Un exemple de la façon dont asp.net utilise ashx pour générer des codes de vérification graphiques

Un exemple de la façon dont asp.net utilise ashx pour générer des codes de vérification graphiques

Jul 26, 2017 pm 03:29 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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 générer k dates aléatoires entre deux dates en utilisant Python ? Comment générer k dates aléatoires entre deux dates en utilisant Python ? Sep 09, 2023 pm 08:17 PM

La génération de données aléatoires est très importante dans le domaine de la science des données. Lors de la création de prévisions de réseaux neuronaux, de données boursières, etc., la date est généralement utilisée comme l'un des paramètres. Nous devrons peut-être générer des nombres aléatoires entre deux dates à des fins d'analyse statistique. Cet article montrera comment générer k dates aléatoires entre deux dates données à l'aide des modules random et datetime. Datetime est la bibliothèque intégrée de Python pour la gestion du temps. D'un autre côté, le module aléatoire aide à générer des nombres aléatoires. On peut donc combiner les modules random et datetime pour générer une date aléatoire entre deux dates. La syntaxe random.randint (start, end, k) random fait ici référence à la bibliothèque aléatoire Python. La méthode Randint utilise trois éléments importants

Comment générer un code de vérification d'image actualisable à l'aide de PHP Comment générer un code de vérification d'image actualisable à l'aide de PHP Sep 13, 2023 am 11:54 AM

Comment utiliser PHP pour générer des codes de vérification d'image actualisables. Avec le développement d'Internet, afin de prévenir les attaques malveillantes et les opérations automatiques des machines, de nombreux sites Web utilisent des codes de vérification pour la vérification des utilisateurs. Un type courant de code de vérification est le code de vérification d'image, qui génère une image contenant des caractères aléatoires et oblige l'utilisateur à saisir les caractères corrects avant de continuer. Cet article explique comment utiliser PHP pour générer des codes de vérification d'image actualisables et fournit des exemples de code spécifiques. Étape 1 : Créer une image de code de vérification Tout d'abord, nous devons créer une image de code de vérification

Comment générer du langage naturel de base à l'aide de PHP Comment générer du langage naturel de base à l'aide de PHP Jun 22, 2023 am 11:05 AM

La génération de langage naturel est une technologie d'intelligence artificielle qui convertit les données en texte en langage naturel. À l’ère actuelle du Big Data, de plus en plus d’entreprises ont besoin de visualiser ou de présenter des données aux utilisateurs, et la génération de langage naturel est une méthode très efficace. PHP est un langage de script côté serveur très populaire qui peut être utilisé pour développer des applications Web. Cet article présentera brièvement comment utiliser PHP pour la génération de base de langage naturel. Présentation de la bibliothèque de génération de langage naturel La bibliothèque de fonctions fournie avec PHP n'inclut pas les fonctions requises pour la génération de langage naturel, donc

Ne craignez plus d'être arrêté par votre patron pour une petite réunion avant de quitter le travail. L'assistant IA vous aidera à générer automatiquement des procès-verbaux de réunion. Ne craignez plus d'être arrêté par votre patron pour une petite réunion avant de quitter le travail. L'assistant IA vous aidera à générer automatiquement des procès-verbaux de réunion. Sep 04, 2023 pm 11:21 PM

iFlytek a mis à niveau la fonction de procès-verbal de réunion, qui peut directement convertir les expressions orales en brouillons écrits, et l'IA peut résumer les procès-verbaux de réunion en fonction des enregistrements. L'IA peut vous aider à terminer la rédaction des procès-verbaux de réunion. Le 31 août, la version Web d'iFlytek a été mise à niveau, ajoutant une fonction d'enregistrement en temps réel côté PC, qui peut utiliser l'intelligence artificielle pour générer intelligemment des procès-verbaux de réunion. Le lancement de cette fonction améliorera considérablement l'efficacité des utilisateurs dans l'organisation du contenu et le suivi des éléments de travail clés après les réunions. Pour les personnes qui assistent souvent à des réunions, cette fonction est sans aucun doute un outil très pratique qui peut économiser beaucoup de temps et d'énergie. Le scénario d'application de cette fonction consiste principalement à convertir les enregistrements sur le PC en texte et à générer automatiquement des procès-verbaux de réunion, dans le but de fournir. utilisateurs avec la meilleure qualité des produits avec d'excellents services et la technologie la plus avancée pour améliorer rapidement l'efficacité du bureau.

Générer un graphique gaufré en utilisant pyWaffle en Python Générer un graphique gaufré en utilisant pyWaffle en Python Aug 17, 2023 am 11:49 AM

La visualisation des données est essentielle pour une compréhension et une présentation efficaces des informations. Parmi les nombreux types de graphiques disponibles, les graphiques gaufrés constituent une nouvelle manière d'afficher des données dans une structure en forme de grille avec des tuiles carrées. Le puissant module Python PyWaffle facilite le développement de graphiques gaufrés, similaires à de nombreuses méthodes de calcul et d'analyse de données. Dans cet article, nous verrons comment créer un graphique gaufré à l'aide du module Python sophistiqué PyWaffle. Installons PyWafle et voyons comment l'utiliser pour visualiser des données catégorielles. Exécutez la commande suivante dans votre cmd pour installer la bibliothèque, puis importez-la dans votre code. La traduction chinoise de pipinstallpywaffleExample1 est : Exemple 1 Dans cet exemple, nous

Comment générer un code QR avec limite de temps en utilisant PHP ? Comment générer un code QR avec limite de temps en utilisant PHP ? Aug 26, 2023 pm 04:34 PM

Comment générer un code QR avec limite de temps en utilisant PHP ? Avec la popularité des paiements mobiles et des billets électroniques, les codes QR sont devenus une technologie courante. Dans de nombreux scénarios, nous pouvons avoir besoin de générer un code QR avec une limite de temps, qui deviendra invalide même après un certain temps. Cet article explique comment utiliser PHP pour générer un code QR à durée limitée et fournit des exemples de code à titre de référence. Installation de la bibliothèque PHPQRCode Pour utiliser PHP pour générer des codes QR, nous devons d'abord installer la bibliothèque PHPQRCode. Cette bibliothèque

Comment générer un mauvais livre de réponses pour les quiz en ligne Comment générer un mauvais livre de réponses pour les quiz en ligne Sep 25, 2023 am 10:24 AM

Comment générer un livre d'erreurs pour répondre aux questions en ligne À l'ère de l'information d'aujourd'hui, répondre aux questions en ligne est devenu une tâche courante pour de nombreux étudiants et enseignants. Les mauvaises questions ont toujours été l'un des problèmes du processus d'apprentissage. De nombreuses personnes espèrent pouvoir générer facilement de mauvais livres de questions pour les réponses en ligne afin de mieux réviser et maîtriser leurs connaissances. Cet article expliquera comment réaliser la fonction de génération du livre d'erreurs de réponses en ligne via la programmation et fournira des exemples de code spécifiques. Étape 1 : Créez une interface Web pour générer des livrets de réponses et d'erreurs en ligne. Vous avez besoin d'une interface Web pour afficher les questions et réponses. Peut utiliser HTML

Que faire si le répertoire de mots est généré de manière incorrecte Que faire si le répertoire de mots est généré de manière incorrecte Feb 20, 2024 am 08:08 AM

Que faire si la table des matières Word est générée de manière incorrecte Avec le développement de la technologie, les documents électroniques sont devenus un élément indispensable de notre travail et de nos études quotidiens. Lors de l'édition de documents électroniques, notamment d'articles ou de documents longs, la génération d'une table des matières est une étape très importante. La table des matières peut permettre aux lecteurs de trouver plus facilement le contenu et la structure de l'article et d'améliorer l'efficacité de la lecture. Cependant, nous rencontrons parfois des problèmes lors du processus de génération du catalogue, tels que des erreurs de génération de catalogue, un ordre désordonné, etc. Alors, si le répertoire de mots est généré de manière incorrecte, comment devons-nous le résoudre ? tête

See all articles