HTML-Escape in React

小云云
Freigeben: 2017-12-06 14:17:39
Original
5454 Leute haben es durchsucht

Geben Sie feste Inhalte in JSX direkt mit UTF-8-Zeichen {Code...} aus. Verwenden Sie HTML-Escape-Zeichen {Code...} oder Dezimal-Escape-Zeichen {Code...}. Escape von dynamischen Inhalten , aber wenn Sie außen eine Ebene aus geschweiften Klammern hinzufügen, um zu verhindern, dass XSS die maskierten Zeichenentitäten erneut maskiert, stellen wir Ihnen in diesem Artikel die HTML-Escape-Methode in React vor.

  1. UTF-8-Zeichen direkt verwenden

    <p>版权 ©</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  2. HTML-Escape-Zeichen verwenden

    <p>版权 &copy;</p>
    Nach dem Login kopieren
    Nach dem Login kopieren

    oder dezimales Escape-Zeichen

    <p>版权 &#169;</p>
    Nach dem Login kopieren
    Nach dem Login kopieren

Escape von dynamischem Inhalt

Wenn Sie jedoch außen eine Ebene mit geschweiften Klammern hinzufügen, verhindert React xss. Die Escape-Zeichen-Entitäten werden dies verhindern erneut maskiert werden

React maskiert alle im DOM anzuzeigenden Zeichenfolgen, um XSS zu verhindern. Wenn JSX daher maskierte Entitätszeichen wie © (©) enthält, wird es im endgültigen DOM nicht korrekt angezeigt, da React die Sonderzeichen in © automatisch maskiert.

<p>{'版权 &#169;'}</p>
Nach dem Login kopieren
Nach dem Login kopieren

Fehlerausgabe

版权 &#169;
Nach dem Login kopieren
Nach dem Login kopieren

Korrektes Schreiben:

  1. Die direkte Verwendung von UTF-8-Zeichen kann immer noch korrekt ausgegeben werden

    <p>{'版权 ©'}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  2. Ein sicherer Ansatz ist die Verwendung des entsprechenden Unicode-Codes

    <p>{'版权 \u00a9'}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  3. Verwenden Sie fromCharCode

    <p>{'版权 ' + String.fromCharCode(169)}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  4. Array-Assembly verwenden

    <p>{['版权 ', <span>&#169;</span>]}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  5. Verwenden Sie hazardlySetInnerHTML, um React-Escape-Zeichen zu vermeiden

    <p dangerouslySetInnerHTML={{ __html: &#39;版权 &#169;&#39; }} />
    Nach dem Login kopieren
    Nach dem Login kopieren

Referenz

  1. JSX-Fallstricke

  2. Tief in den React-Technologie-Stack


in JSX Geben Sie feste Inhalte in

  1. aus. Verwenden Sie direkt UTF-8-Zeichen.

    <p>版权 ©</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  2. Verwenden Sie HTML-Escape-Zeichen.

    <p>版权 &copy;</p>
    Nach dem Login kopieren
    Nach dem Login kopieren

    Oder dezimale Escape-Zeichen

    <p>版权 &#169;</p>
    Nach dem Login kopieren
    Nach dem Login kopieren

Escape von dynamischen Inhalten


Aber wenn Sie außerhalb des Gehäuses eine große Ebene hinzufügen In Klammern maskiert React die maskierten Zeichenentitäten erneut, um XSS zu verhindern.

React maskiert alle im DOM anzuzeigenden Zeichenfolgen, um XSS zu verhindern. Wenn JSX daher maskierte Entitätszeichen wie © (©) enthält, wird es im endgültigen DOM nicht korrekt angezeigt, da React die Sonderzeichen in © automatisch maskiert.

<p>{'版权 &#169;'}</p>
Nach dem Login kopieren
Nach dem Login kopieren

Fehlerausgabe

版权 &#169;
Nach dem Login kopieren
Nach dem Login kopieren

Korrektes Schreiben:

  1. Die direkte Verwendung von UTF-8-Zeichen kann immer noch korrekt ausgegeben werden

    <p>{'版权 ©'}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  2. Ein sicherer Ansatz ist die Verwendung des entsprechenden Unicode-Codes

    <p>{'版权 \u00a9'}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  3. Verwenden Sie fromCharCode

    <p>{'版权 ' + String.fromCharCode(169)}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  4. Array-Assembly verwenden

    <p>{['版权 ', <span>&#169;</span>]}</p>
    Nach dem Login kopieren
    Nach dem Login kopieren
  5. Verwenden Sie hazardlySetInnerHTML, um React-Escape-Zeichen zu vermeiden

    <p dangerouslySetInnerHTML={{ __html: &#39;版权 &#169;&#39; }} />
    Nach dem Login kopieren
    Nach dem Login kopieren

Das Obige ist React The Ich hoffe, dass sie jedem helfen kann, wenn ich die Methode zum Schreiben von HTML-Escape-Schreiben verwende.

Verwandte Empfehlungen:

So schreiben Sie Komponenten in React

Der Unterschied zwischen setState in React und Preact

Wissen über das Ereignissystem reagieren

Das obige ist der detaillierte Inhalt vonHTML-Escape in React. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!