Heim Backend-Entwicklung C#.Net-Tutorial Ein Beispiel dafür, wie asp.net ashx verwendet, um grafische Bestätigungscodes zu generieren

Ein Beispiel dafür, wie asp.net ashx verwendet, um grafische Bestätigungscodes zu generieren

Jul 26, 2017 pm 03:29 PM
asp.net 生成

In diesem Artikel wird hauptsächlich die Methode von asp.net zum Generieren von grafischem Verifizierungscode vorgestellt. Er analysiert die Schritte, Implementierungsmethoden und zugehörigen Vorsichtsmaßnahmen von asp.net zum Generieren von grafischem Verifizierungscode in Form von Beispielen siehe es

Das Beispiel in diesem Artikel beschreibt, wie asp.net ashx verwendet, um grafische Verifizierungscodes zu generieren. Ich teile es Ihnen als Referenz mit, die Details sind wie folgt:

Ich muss die Vorteile von Verifizierungscodes nicht erklären, Sie alle wissen es. Ich habe im Internet gesehen, dass jemand den Bestätigungscode direkt in die ASPX-Seite geschrieben hat, was bedeutet, dass das Anfordern des Bestätigungscodes auf diese Weise dem Anfordern einer Seite entspricht. Dies ist sehr unwissenschaftlich. Wie unten gezeigt


<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>
Nach dem Login kopieren

Wenn ich mir diesen Code ansehe, habe ich das Gefühl, dass die Person, die den Code geschrieben hat, eine Tracht Prügel verdient. Es ist wirklich deprimierend, den Code so zu schreiben. Überprüfen Sie es und schreiben Sie kein Skript zum Wechseln.

Lassen Sie mich eine Möglichkeit vorstellen, eine solche Funktion zu implementieren

1. Schreiben Sie einen Ashx, um einen grafischen Bestätigungscode zu generieren


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;
      }
    }
  }
}
Nach dem Login kopieren

2. Zeigen Sie den Bestätigungscode auf der Seite an, wir können ihn direkt in das -Tag schreiben


<%@ 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>
Nach dem Login kopieren

Nach langem Gespräch ist es an der Zeit, zu sehen, wie der generierte Bestätigungscode aussieht

Das obige ist der detaillierte Inhalt vonEin Beispiel dafür, wie asp.net ashx verwendet, um grafische Bestätigungscodes zu generieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie generiert man mit Python k zufällige Daten zwischen zwei Daten? Wie generiert man mit Python k zufällige Daten zwischen zwei Daten? Sep 09, 2023 pm 08:17 PM

Die Generierung von Zufallsdaten ist im Bereich der Datenwissenschaft sehr wichtig. Beim Erstellen neuronaler Netzwerkvorhersagen, Börsendaten usw. wird normalerweise das Datum als einer der Parameter verwendet. Für die statistische Analyse müssen wir möglicherweise Zufallszahlen zwischen zwei Daten generieren. In diesem Artikel wird gezeigt, wie man mit den Modulen „random“ und „datetime“ k zufällige Daten zwischen zwei bestimmten Daten generiert. Datetime ist Pythons integrierte Bibliothek für die Zeitverarbeitung. Andererseits hilft das Zufallsmodul bei der Generierung von Zufallszahlen. Wir können also Zufalls- und Datum/Uhrzeit-Module kombinieren, um ein zufälliges Datum zwischen zwei Daten zu generieren. Syntax random.randint (start, end, k) random bezieht sich hier auf die Python-Zufallsbibliothek. Die Randint-Methode verwendet drei wichtige

So generieren Sie aktualisierbaren Bildverifizierungscode mit PHP So generieren Sie aktualisierbaren Bildverifizierungscode mit PHP Sep 13, 2023 am 11:54 AM

So generieren Sie mit PHP aktualisierbare Bildverifizierungscodes: Um böswillige Angriffe und automatische Maschinenoperationen zu verhindern, verwenden viele Websites Verifizierungscodes zur Benutzerverifizierung. Eine gängige Art von Verifizierungscode ist der Bildverifizierungscode, der ein Bild mit zufälligen Zeichen generiert und den Benutzer auffordert, die richtigen Zeichen einzugeben, bevor er fortfahren kann. In diesem Artikel wird erläutert, wie Sie mit PHP aktualisierbare Bildüberprüfungscodes generieren und spezifische Codebeispiele bereitstellen. Schritt 1: Erstellen Sie ein Bestätigungscode-Bild. Zuerst müssen wir ein Bild erstellen

So führen Sie die grundlegende Generierung natürlicher Sprache mit PHP durch So führen Sie die grundlegende Generierung natürlicher Sprache mit PHP durch Jun 22, 2023 am 11:05 AM

Die Erzeugung natürlicher Sprache ist eine Technologie der künstlichen Intelligenz, die Daten in Text in natürlicher Sprache umwandelt. Im heutigen Big-Data-Zeitalter müssen immer mehr Unternehmen Daten visualisieren oder den Benutzern präsentieren, und die Generierung natürlicher Sprache ist eine sehr effektive Methode. PHP ist eine sehr beliebte serverseitige Skriptsprache, die zur Entwicklung von Webanwendungen verwendet werden kann. In diesem Artikel wird kurz vorgestellt, wie PHP für die grundlegende Generierung natürlicher Sprache verwendet wird. Einführung in die Bibliothek zur Generierung natürlicher Sprache Die mit PHP gelieferte Funktionsbibliothek enthält nicht die für die Generierung natürlicher Sprache erforderlichen Funktionen

Machen Sie sich keine Sorgen mehr darüber, dass Ihr Chef Sie vor Feierabend zu einer kleinen Besprechung aufhält. Der KI-Assistent hilft Ihnen dabei, automatisch Besprechungsprotokolle zu erstellen. Machen Sie sich keine Sorgen mehr darüber, dass Ihr Chef Sie vor Feierabend zu einer kleinen Besprechung aufhält. Der KI-Assistent hilft Ihnen dabei, automatisch Besprechungsprotokolle zu erstellen. Sep 04, 2023 pm 11:21 PM

iFlytek hat die Funktion für Besprechungsprotokolle aktualisiert, mit der gesprochene Äußerungen direkt in schriftliche Entwürfe umgewandelt werden können, und KI kann Besprechungsprotokolle basierend auf Aufzeichnungen zusammenfassen. KI kann Ihnen beim Verfassen von Besprechungsprotokollen helfen. Am 31. August wurde die iFlytek-Webversion um eine Echtzeit-Aufzeichnungsfunktion auf der PC-Seite erweitert, die künstliche Intelligenz nutzen kann, um Besprechungsprotokolle intelligent zu erstellen. Die Einführung dieser Funktion wird die Effizienz der Benutzer bei der Organisation von Inhalten und der Nachverfolgung wichtiger Arbeitselemente nach Besprechungen erheblich verbessern. Für Menschen, die häufig an Besprechungen teilnehmen, ist diese Funktion zweifellos ein sehr praktisches Tool, das viel Zeit und Energie sparen kann. Das Anwendungsszenario dieser Funktion besteht hauptsächlich darin, Aufzeichnungen auf dem PC in Text umzuwandeln und Besprechungsprotokolle automatisch zu erstellen Benutzern die beste Qualität, Produkte mit exzellenten Dienstleistungen und modernster Technologie, um die Büroeffizienz schnell zu verbessern

Generieren Sie ein Waffeldiagramm mit pyWaffle in Python Generieren Sie ein Waffeldiagramm mit pyWaffle in Python Aug 17, 2023 am 11:49 AM

Die Datenvisualisierung ist für ein effizientes Informationsverständnis und eine effiziente Präsentation unerlässlich. Unter den vielen verfügbaren Diagrammtypen sind Waffeldiagramme eine neuartige Möglichkeit, Daten in einer gitterartigen Struktur mit quadratischen Kacheln anzuzeigen. Das leistungsstarke Python-Modul PyWaffle erleichtert die Entwicklung von Waffeldiagrammen, ähnlich wie viele Berechnungs- und Datenanalysemethoden. In diesem Artikel schauen wir uns an, wie man mit dem hochentwickelten Python-Modul PyWaffle ein Waffeldiagramm erstellt. Lassen Sie uns PyWafle installieren und sehen, wie Sie es zur Visualisierung kategorialer Daten verwenden können. Führen Sie den folgenden Befehl in Ihrem cmd aus, um die Bibliothek zu installieren, und importieren Sie sie dann in Ihren Code. Die chinesische Übersetzung von pipinstallpywaffleExample1 lautet: Beispiel 1 In diesem Beispiel haben wir

Wie erstelle ich mit PHP einen zeitlich begrenzten QR-Code? Wie erstelle ich mit PHP einen zeitlich begrenzten QR-Code? Aug 26, 2023 pm 04:34 PM

Wie erstelle ich mit PHP einen zeitlich begrenzten QR-Code? Mit der Popularität mobiler Zahlungen und elektronischer Tickets sind QR-Codes zu einer gängigen Technologie geworden. In vielen Fällen müssen wir möglicherweise einen zeitlich begrenzten QR-Code generieren, der auch nach einer bestimmten Zeitspanne ungültig wird. In diesem Artikel wird erläutert, wie Sie mit PHP einen zeitlich begrenzten QR-Code generieren und Codebeispiele als Referenz bereitstellen. Installation der PHPQRCode-Bibliothek Um PHP zum Generieren von QR-Codes zu verwenden, müssen wir zuerst die PHPQRCode-Bibliothek installieren. Diese Bibliothek

So erstellen Sie ein falsches Antwortbuch für Online-Quiz So erstellen Sie ein falsches Antwortbuch für Online-Quiz Sep 25, 2023 am 10:24 AM

So erstellen Sie ein Fehlerbuch für die Online-Beantwortung von Fragen. Im heutigen Informationszeitalter ist die Online-Beantwortung von Fragen für viele Studenten und Lehrkräfte zu einer alltäglichen Aufgabe geworden. Falsche Fragen waren schon immer eines der Probleme im Lernprozess. Viele Menschen hoffen, leicht falsche Fragenbücher für Online-Antworten erstellen zu können, damit sie ihr Wissen besser überprüfen und beherrschen können. In diesem Artikel wird erläutert, wie die Generierungsfunktion eines Online-Antwortfehlerbuchs durch Programmierung realisiert wird, und es werden spezifische Codebeispiele bereitgestellt. Schritt 1: Erstellen Sie eine Weboberfläche, um Online-Antwort- und Fehlerbroschüren zu erstellen. Sie benötigen eine Weboberfläche, um Fragen und Antworten anzuzeigen. Kann HTML verwenden

Was tun, wenn das Wortverzeichnis falsch generiert wird? Was tun, wenn das Wortverzeichnis falsch generiert wird? Feb 20, 2024 am 08:08 AM

Was tun, wenn das Word-Inhaltsverzeichnis falsch generiert wird? Mit der Entwicklung der Technologie sind elektronische Dokumente zu einem unverzichtbaren Bestandteil unserer täglichen Arbeit und unseres Studiums geworden. Bei der Bearbeitung elektronischer Dokumente, insbesondere langer Artikel oder Aufsätze, ist die Erstellung eines Inhaltsverzeichnisses ein sehr wichtiger Schritt. Das Inhaltsverzeichnis kann es den Lesern erleichtern, den Inhalt und die Struktur des Artikels zu finden und die Leseeffizienz zu verbessern. Manchmal stoßen wir jedoch beim Generieren des Katalogs auf einige Probleme, wie z. B. Fehler bei der Kataloggenerierung, ungeordnete Reihenfolge usw. Wenn also das Wortverzeichnis falsch generiert wird, wie sollen wir es lösen? Kopf

See all articles