suchen
HeimWeb-FrontendCSS-TutorialSo erhalten Sie die aktuelle Seiten -URL in Gatsby

So erhalten Sie die aktuelle Seiten -URL in Gatsby

Diese scheinbar einfache Aufgabe ließ mich ein paar Stunden mit dem Kopf kratzten, während ich auf meiner Website arbeitete. Wie sich herausstellt, ist es nicht so einfach, die aktuelle Seiten -URL in Gatsby zu erhalten, wie Sie vielleicht denken, aber auch nicht so kompliziert zu verstehen.

Schauen wir uns einige Methoden an, um dies zu erreichen. Aber zuerst fragen Sie sich vielleicht, warum wir sogar so etwas tun wollen.

Warum Sie vielleicht die aktuelle URL benötigen

Bevor wir uns mit dem Wie eingehen, beantworten wir zunächst die größere Frage: Warum möchten Sie die URL der aktuellen Seite erhalten? Ich kann ein paar Anwendungsfälle anbieten.

Meta -Tags

Das erste Offensichtliche, für das Sie die aktuelle URL haben möchten, sind Meta -Tags im Dokumentkopf:

 <link rel="Canonical" href="%7Burl%7D">
<meta property="og: url" content="{url}">

Soziales Teilen

Ich habe es auf mehreren Websites gesehen, auf denen ein Link zur aktuellen Seite neben der Freigabe von Schaltflächen angezeigt wird. So etwas (gefunden auf dem kreativen Markt)

Styling

Dieser ist weniger offensichtlich, aber ich habe es ein paar Mal mit gestylerischen Komponenten verwendet. Sie können verschiedene Stile basierend auf bestimmten Bedingungen rendern. Eine dieser Bedingungen kann ein Seitenweg sein (dh ein Teil der URL nach dem Namen der Website). Hier ist ein kurzes Beispiel:

 Import reagieren aus "reagieren";
Import gestylt aus "Stilkomponenten";

const Layout = ({Pfad, Kinder}) => (
  <styledlayout path="{path}">
    {Kinder}
  </styledlayout>
);
    
const styledLayout = styled.main`
  Hintergrundfarbe: $ {({path}) => (path === '/'? '#fff': '#000')};
`;

Standardlayout exportieren;

Hier habe ich eine gestaltete Layoutkomponente erstellt, die auf dem Pfad eine andere Hintergrundfarbe hat.

Diese Liste von Beispielen zeigt nur die Idee und ist keineswegs umfassend. Ich bin sicher, dass es mehr Fälle gibt, in denen Sie die aktuelle Seiten -URL erhalten möchten. Wie bekommen wir es?

Verstehe Build Time vs. Laufzeit

Nicht so schnell! Bevor wir zu den tatsächlichen Methoden und Code -Snippets kommen, möchte ich einen letzten Stopp machen und kurz ein paar Kernkonzepte von Gatsby erklären.

Das erste, was wir verstehen müssen, ist, dass Gatsby unter anderem ein statischer Site -Generator ist. Das bedeutet, dass es statische Dateien erstellt (die normalerweise HTML und JavaScript sind). Es gibt keinen Server und keine Datenbank auf der Produktionswebsite. Alle Informationen (einschließlich der aktuellen Seiten -URL) müssen aus anderen Quellen gezogen oder während der Bauzeit oder Laufzeit generiert werden, bevor sie in das Markup einfügen.

Das führt uns zu dem zweiten wichtigen Konzept, das wir verstehen müssen: Zeit und Laufzeit erstellen. Ich ermutige Sie, die offizielle Dokumentation von Gatsby darüber zu lesen, aber hier ist meine Interpretation.

Die Laufzeit ist, wenn eine der statischen Seiten im Browser geöffnet wird. In diesem Fall hat die Seite Zugriff auf alle wunderbaren Browser -APIs, einschließlich der Fenster -API, die unter anderem die aktuelle Seiten -URL enthält.

Eine Sache, die leicht zu verwechseln ist, insbesondere wenn Sie mit Gatsby beginnen, ist, dass sich das Ausführen von Gatsby im Terminal im Entwicklungsmodus den Browser für Sie aufrückt. Das bedeutet, dass alle Verweise auf das Fensterobjekt funktionieren und keine Fehler auslösen.

Erstellen Sie die Zeit , wenn Sie sich entwickelt haben, und fordern Sie Gatsby auf, endgültige optimierte Assets mit dem Befehl gatsby build zu generieren. Während der Bauzeit existiert der Browser nicht. Dies bedeutet, dass Sie das Fensterobjekt nicht verwenden können.

Hier kommt der a-ha! Moment. Wenn Builds aus dem Browser isoliert sind und es keine Server oder Datenbank gibt, in der wir die URL erhalten können, wie soll Gatsby wissen, welcher Domain -Name verwendet wird? Das ist die Sache - es kann nicht! Sie können den Schnecken oder den Pfad der Seite erhalten, aber Sie können einfach nicht sagen, was die Basis -URL ist. Sie müssen es angeben.

Dies ist ein sehr grundlegendes Konzept, aber wenn Sie mit jahrelanger WordPress -Erfahrung frisch eingehen, kann es einige Zeit dauern, bis diese Informationen eintauchen. Sie wissen, dass Gatsby serverlos ist und alle Momente wie diese Sie erkennen: Es gibt keinen Server.

Jetzt, da wir das aussortiert haben, springen wir zu den tatsächlichen Methoden, um die URL der aktuellen Seite zu erhalten.

Methode 1: Verwenden Sie die HREF -Eigenschaft des Fensters.locationsobjekts

Diese erste Methode ist nicht spezifisch für Gatsby und kann in so ziemlich jeder JavaScript -Anwendung im Browser verwendet werden. Sehen Sie, Browser ist hier das Schlüsselwort.

Nehmen wir an, Sie erstellen eine dieser gemeinsamen Komponenten mit einem Eingabefeld, das die URL der aktuellen Seite enthalten muss. So können Sie das tun:

 Import reagieren aus "reagieren";

const foo = () => {
  const url = Typeof Fenster! == 'undefined'? window.location.href: '';

  zurückkehren (
    <eingabe type="text" readonly value="{url}"></eingabe>
  );
};

Standard foo exportieren;

Wenn das Fensterobjekt existiert, erhalten wir die HREF -Eigenschaft des Standortobjekts, das ein Kind des Fensters ist. Wenn nicht, geben wir der URL -Variablen einen leeren Zeichenfolgenwert an.

Wenn wir es ohne den Scheck machen und es so schreiben:

 const url = window.location.href;

… Der Build fällt mit einem Fehler fehl, der so etwas aussieht:

 Fehlgeschlagenes Gebäude statischer HTML für Seiten - 2,431s
Fehler #95312 
"Fenster" ist während des serverseitigen Renderings nicht verfügbar.

Wie ich bereits erwähnt habe, geschieht dies, weil der Browser während der Bauzeit nicht existiert. Das ist ein großer Nachteil dieser Methode. Sie können es nicht verwenden, wenn die URL auf der statischen Version der Seite vorhanden ist.

Aber es gibt auch einen großen Vorteil! Sie können auf das Fensterobjekt aus einer Komponente zugreifen, die tief in anderen Komponenten verschachtelt ist. Mit anderen Worten, Sie müssen die URL -Prop nicht von übergeordneten Komponenten bohren.

Methode 2: Holen Sie sich die HREF -Eigenschaft von Standortdaten aus Props

Jede Seite und Vorlagenkomponente in Gatsby verfügt über eine Standort -Requisite, die Informationen zur aktuellen Seite enthält. Im Gegensatz zu Window.Location ist diese Requisite auf allen Seiten jedoch vorhanden.

Zitieren von Gatsby Docs:

Das Tolle ist, dass Sie erwarten können, dass die Standort -Requisite auf jeder Seite Ihnen zur Verfügung steht.

Aber hier kann es einen Haken geben. Wenn Sie neu in Gatsby sind, protokollieren Sie diese Requisite an der Konsole und bemerken, dass sie so ziemlich identisch aussieht. Wie ist das möglich? Nun, das ist es nicht. Die HREF -Prop ist nur während der Laufzeit da.

Das Schlimmste daran ist, dass die Nutzung von location.reif direkt ohne zuerst zu überprüfen, ob es vorhanden ist, wenn er während der Bauzeit einen Fehler auslöst.

All dies bedeutet, dass wir uns darauf verlassen können, dass die Standort -Requisite auf jeder Seite ist, aber nicht erwarten kann, dass die HREF -Eigenschaft während der Bauzeit aufweist. Achten Sie darauf und verwenden Sie diese Methode nicht für kritische Fälle, in denen Sie die URL in der statischen Version der Seite im Markup befinden müssen.

Schreiben wir also das vorherige Beispiel mit dieser Methode neu:

 Import reagieren aus "reagieren";

const page = ({location}) => {
  const url = location.href? Ort.href: '';

  zurückkehren (
    <eingabe type="text" readonly value="{url}"></eingabe>
  );
};

Standardseite exportieren;

Dies muss eine Seite mit oberster Ebene oder Vorlagenkomponente sein. Sie können es nicht einfach nirgendwo importieren und erwarten, dass es funktioniert. Standort -Requisite wird undefiniert.

Wie Sie sehen können, ist diese Methode dem vorherigen ziemlich ähnlich. Verwenden Sie es für Fälle, in denen die URL nur während der Laufzeit benötigt wird.

Aber was ist, wenn Sie eine vollständige URL im Aufmerksamkeit einer statischen Seite haben müssen? Gehen wir mit der dritten Methode fort.

Methode 3: Generieren Sie die aktuelle Seiten -URL mit der Pfadname -Eigenschaft aus Standortdaten

Wie wir zu Beginn dieses Beitrags besprochen haben, müssen Sie die Basis -URL für die Website irgendwo angeben, wenn Sie die vollständige URL in die statischen Seiten angeben und irgendwie während der Bauzeit erhalten. Ich werde dir zeigen, wie das geht.

Beispielsweise erstelle ich ein tag im Header. Es ist wichtig, die vollständige URL der Seite zu haben, bevor die Seite den Browser trifft. Andernfalls sehen Suchmaschinen und Site -Scrapers das leere HREF -Attribut, das inakzeptabel ist.

Hier ist der Plan:

  1. Fügen Sie die SiteUrl-Eigenschaft in Sitemetadata in gatsby-config.js hinzu.
  2. Erstellen Sie einen statischen Abfragehaken, um Sitemetadata in jeder Komponente abzurufen.
  3. Verwenden Sie diesen Haken, um Siteurl zu erhalten.
  4. Kombinieren Sie es mit dem Pfad der Seite und fügen Sie es dem Markup hinzu.

Lassen Sie uns jeden Schritt nach unten brechen.

Fügen Sie die SiteUrl-Eigenschaft in Sitemetadata in gatsby-config.js hinzu

Gatsby verfügt über eine Konfigurationsdatei namens Gatsby-config.js, mit der globale Informationen über die Website im Sitemetadata-Objekt gespeichert werden können. Das funktioniert für uns, also werden wir diesem Objekt Siteurl hinzufügen:

 module.exports = {
  Sitemetadata: {
    Titel: 'Dmitry Mayorov',
    Beschreibung: "Dmitry ist ein Front-End-Entwickler, der coole Websites baut."
    Autor: '@dmtrmrv',
    SiteUrl: 'https://dmtrmrv.com',
  }
};

Erstellen Sie einen statischen Abfragehaken, um Sitemetadata in jeder Komponente abzurufen

Als nächstes brauchen wir eine Möglichkeit, Sitemetadata in unseren Komponenten zu verwenden. Zum Glück hat Gatsby eine statische API, die es uns ermöglicht, genau das zu tun. Sie können den UsestaticQuery -Hook direkt in Ihren Komponenten verwenden, aber ich bevorzuge es, eine separate Datei für jede statische Abfrage zu erstellen, die ich auf der Website verwende. Dies erleichtert den Code leichter zu lesen.

Erstellen Sie dazu eine Datei namens Use-site-metadata.js in einem Hooks-Ordner im SRC-Ordner Ihrer Website und kopieren und fügen Sie den folgenden Code ein.

 Import {usestaticQuery, GraphQl} aus 'Gatsby';

const useItemetadata = () => {
  const {Site} = usestaticQuery (
  GraphQl`
    Abfrage {
    Website {
      Sitemetadata {
      Titel
      Beschreibung
      Autor
      Siteurl
      }
    }
    }
  `,
  );
  Rückkehr Site.Sitemetadata;
};

Exportieren Sie Standard -useItemetadata;

Überprüfen Sie, ob alle Eigenschaften - wie Titel, Beschreibung, Autor und andere Eigenschaften, die Sie im Sitemetadata -Objekt haben, in der GraphQL -Abfrage angezeigt werden.

Verwenden Sie diesen Haken, um Siteurl zu erhalten

Hier ist der lustige Teil: Wir erhalten die Site -URL und verwenden sie in der Komponente.

 Import reagieren aus "reagieren";
Helm von 'React-Helmet' importieren;
Import useItemetadata von '../hooks/use-siite- metadata';

const page = ({location}) => {
  const {SiteUrl} = useItemetadata ();
  zurückkehren (
    <helm>
      <link rel="Canonical" href="%7B%60%24">
    </helm>
  );
};

Standardseite exportieren;

Lass es uns zusammenbrechen.

In Zeile 3 importieren wir den UseSitemetadata -Hook, den wir in die Komponente erstellt haben.

 Import useItemetadata von '../hooks/use-siite- metadata';

Dann, in Zeile 6, zerstören wir die daraus resultierenden Daten und erstellen die SiteUrl -Variable. Jetzt haben wir die Site -URL, die uns während der Bau- und Laufzeit für uns verfügbar ist. Süß!

 const {SiteUrl} = useItemetadata ();

Kombinieren Sie die Site -URL mit dem Pfad der Seite und fügen Sie sie dem Markup hinzu

Erinnern Sie sich nun an die Standortpropie aus der zweiten Methode? Das Tolle daran ist, dass es die Pfadname -Eigenschaft sowohl während der Build als auch während der Laufzeit enthält. Sehen Sie, wohin es geht? Alles, was wir tun müssen, ist die beiden zu kombinieren:

 `$ {SiteUrl} $ {location.PathName}`

Dies ist wahrscheinlich die robusteste Lösung, die in den Browsern und während der Produktionsergebnisse funktioniert. Ich persönlich verwende diese Methode am meisten.

Ich verwende in diesem Beispiel React Helm. Wenn Sie noch nicht davon gehört haben, ist es ein Werkzeug, um den Kopfabschnitt in React -Anwendungen zu rendern. Darrell Hoffman hat hier auf CSS-Tricks eine nette Erklärung dafür geschrieben.

Methode 4: Generieren Sie die aktuelle Seiten -URL auf der Serverseite

Was?! Hast du nur Server gesagt? Ist Gatsby nicht ein statischer Site -Generator? Ja, ich habe Server gesagt. Aber es ist kein Server im traditionellen Sinne.

Wie wir bereits wissen, generiert Gatsby während der Bauzeit (dh Server -Rendern) statische Seiten. Hier kommt der Name her. Was daran großartig ist, ist, dass wir mit mehreren APIs, die Gatsby bereits bietet, in diesen Prozess einbinden können.

Die API, die uns am meisten interessiert, heißt Onrenderbody. In den meisten Fällen wird es verwendet, um der Seite benutzerdefinierte Skripte und Stile zu injizieren. Aber was an diesem (und anderen serverseitigen APIs) aufregend ist, ist, dass es einen Parameter von PathName hat. Dies bedeutet, dass wir die aktuelle Seiten -URL „auf dem Server“ generieren können.

Ich würde diese Methode nicht persönlich verwenden, um dem Kopfabschnitt Meta -Tags hinzuzufügen, da die dritte Methode, die wir betrachten, dafür besser geeignet ist. Lassen Sie mich Ihnen jedoch zeigen, wie Sie den kanonischen Link mit Onrenderbody zur Website hinzufügen können.

Um eine serverseitige API zu verwenden, müssen Sie den Code in eine Datei namens Gatsby-Ssr.js schreiben, die sich im Stammordner Ihrer Website befindet. Um den Link zum Kopfabschnitt hinzuzufügen, schreiben Sie so etwas:

 const react = require ('react');
const config = required ('./ gatsby-config');

exports.onrenderbody = ({pathname, setheadcomponents}) => {
  setheadcomponents ([
    <link rel="Canonical" href="%7B%60%24">,,
  ]);
};

Lassen Sie uns diesen Code Stück für Stück brechen.

Wir müssen in Zeile 1 reagieren. Es ist erforderlich, dass die JSX -Syntax funktioniert. In Zeile 2 ziehen wir dann Daten aus der Datei gatsby-config.js in eine Konfigurationsvariable.

Als nächstes nennen wir die SetheadComponents -Methode innerhalb von Onrenderbody und geben ihr eine Reihe von Komponenten über, um den Site -Header hinzuzufügen. In unserem Fall ist es nur ein Link -Tag. Und für das HREF -Attribut des Links selbst kombinieren wir die SiteUrl und den Pfadnamen:

 `$ {config.Sitemetadata.Siteurl} $ {pathname}`

Wie ich bereits sagte, ist dies wahrscheinlich nicht die Anlaufstelle zum Hinzufügen von Tags zum Kopfabschnitt, aber es ist gut zu wissen, dass Gatsby serverseitige APIs hat, die es ermöglichen, während der Server-Rendering-Phase eine URL für eine bestimmte Seite zu generieren.

Wenn Sie mehr über das Server-Side-Rendering mit Gatsby erfahren möchten, empfehle ich Ihnen, ihre offizielle Dokumentation zu lesen.

Das war's!

Wie Sie sehen können, ist es nicht sehr kompliziert, die URL der aktuellen Seite in Gatsby zu erhalten, insbesondere wenn Sie die Kernkonzepte verstehen und die zur Verwendung verfügbaren Tools kennen. Wenn Sie andere Methoden kennen, lassen Sie es mich bitte in den Kommentaren wissen!

Ressourcen

  • JavaScript -Fensterschnittstelle
  • Überblick über den Gatsby Build -Prozess
  • Standortdaten aus Requisiten
  • Gatsby Server -Rendering -APIs
  • Helm reagieren

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die aktuelle Seiten -URL in Gatsby. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Wöchentliche Plattformnachrichten: Web -Apps im Galaxy Store, Tappable Stories, CSS SubgridWöchentliche Plattformnachrichten: Web -Apps im Galaxy Store, Tappable Stories, CSS SubgridApr 14, 2025 am 11:20 AM

In der Roundup:#039; Firefox-Gewinne locker-ähnliche Kräfte, Samsungs Galaxy Store beginnt mit der Unterstützung von progressiven Web-Apps, CSS Subgrid ist in Firefox versandt

Wöchentliche Plattform News: Internet Explorer -Modus, Geschwindigkeitsbericht in der Suchkonsole, Einschränkungen der BenachrichtigungsaufforderungenWöchentliche Plattform News: Internet Explorer -Modus, Geschwindigkeitsbericht in der Suchkonsole, Einschränkungen der BenachrichtigungsaufforderungenApr 14, 2025 am 11:15 AM

In der Roundup: Internet Explorer in dieser Woche findet der Weg in Edge, Google Search Console einen neuen Geschwindigkeitsbericht, und Firefox gibt die Benachrichtigung von Facebook an

Die Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten EigenschaftenDie Kraft (und Spaß) des Umfangs mit CSS -benutzerdefinierten EigenschaftenApr 14, 2025 am 11:11 AM

Sie sind wahrscheinlich schon zumindest ein wenig mit CSS -Variablen vertraut. Wenn nicht, finden Sie hier einen Überblick über zwei Sekunden: Sie werden wirklich benutzerdefinierte Eigenschaften genannt, Sie haben festgelegt

Wir sind ProgrammiererWir sind ProgrammiererApr 14, 2025 am 11:04 AM

Das Erstellen von Websites ist das Programmieren. Das Schreiben von HTML und CSS ist das Programmieren. Ich bin Programmierer, und wenn Sie hier CSS-Tricks lesen, sind Sie wahrscheinlich

Wie entfernen Sie ungenutzte CSS von einer Website?Wie entfernen Sie ungenutzte CSS von einer Website?Apr 14, 2025 am 10:59 AM

Hier ist das, was ich im Voraus wissen kann: Dies ist ein schwieriges Problem. Wenn Sie hier gelandet sind

Eine Einführung in die Bild-in-Bild-Web-APIEine Einführung in die Bild-in-Bild-Web-APIApr 14, 2025 am 10:57 AM

Das Bild-in-Bild trat mit der Veröffentlichung von MacOS Sierra im Jahr 2016 im Web im Websser auf. Es ermöglichte es einem Benutzer, ein Pop zu haben.

Möglichkeiten zur Organisation und Vorbereitung von Bildern für einen Unschärfeneffekt mit GatsbyMöglichkeiten zur Organisation und Vorbereitung von Bildern für einen Unschärfeneffekt mit GatsbyApr 14, 2025 am 10:56 AM

Gatsby macht großartige Arbeitsplätze, die Bilder verarbeiten und mit Bildern behandeln. Zum Beispiel hilft es Ihnen, Zeit mit Bildoptimierung zu sparen, da Sie nicht manuell manuell müssen

Oh hey, der Padding -Prozentsatz basiert auf der Breite des übergeordneten ElementsOh hey, der Padding -Prozentsatz basiert auf der Breite des übergeordneten ElementsApr 14, 2025 am 10:55 AM

Ich habe heute etwas über prozentuale (%) Polsterung gelernt, das ich in meinem Kopf völlig falsch hatte! Ich dachte immer, dass die prozentuale Polsterung auf dem basiert

See all articles

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software