Wie funktioniert die Inhaltssicherheitsrichtlinie (CSP) mit HTML5?
CSP erhöht die HTML5 -Sicherheit, indem sie vertrauenswürdige Inhaltsquellen definiert, um XSS, ClickJacking und Code -Injektion zu verhindern. 1. Es schränkt Inline-Skripte und Stile ein, indem sie sie blockieren, es sei denn, es werden „unsichere Inline“, Noncen oder Hashes verwendet. 2. Es steuert externe Ressourcen über Richtlinien wie Skript-SRC, IMG-SRC und Style-SRC, um nur vertrauenswürdige Herkunft zu ermöglichen. 3. Es integriert sich in HTML5-Funktionen von Leitenden von Web Workers (Worker-SRC), WebSocket Connections (Connect-SRC), Iframe-Einbettung (Frame-Incestors) und Media (Media-SRC). 4.. Es ermöglicht Verstöße gegen den Bericht über den Bericht oder den Bericht, um Richtlinienverletzungen zu überwachen und zu beheben. CSP wird über HTTP -Header oder Meta -Tags implementiert und fungiert als kritische Sicherheitsschicht, die moderne HTML5 -Anwendungen anwenden müssen, um sicherzustellen, dass nur vertrauenswürdige Code und Vermögenswerte ausgeführt werden.
Content Security Policy (CSP) arbeitet mit HTML5 zusammen, indem Sie eine Sicherheitsebene bereitstellen, mit der Skript- (XSS), Clickjacking und andere Code-Injektionsangriffe verhindern. Dies geschieht, indem Entwickler definieren können, welche Inhaltsquellen in einem HTML5 -Dokument geladen und ausgeführt werden dürfen.

CSP wird über HTTP-Header (wie Content-Security-Policy
) oder über ein <meta>
-Tag im HTML5-Dokument implementiert. Wenn ein Browser eine Seite lädt, liest er den CSP und erzwingt die Regeln, bevor Ressourcen wie Skripte, Stile, Bilder oder IFRames geladen werden.
Hier erfahren Sie, wie sich CSP in wichtige Aspekte von HTML5 integriert:

1. Inline -Skript- und Stilbeschränkungen
HTML5 ermöglicht Inline -Skripte und Stile (z. B. <script></script>
, onclick=""
, <style></style>
), aber dies sind übliche Vektoren für XSS. CSP blockiert sie standardmäßig, es sei denn, es ist ausdrücklich zulässig.
Beispielsweise würde dieses Inline-Skript blockiert, wenn CSP 'unsafe-inline'
nicht zulässt:

<button onclick = "alert ('gehackt')"> klicken Sie auf mich </button>
Um Inline -Skripte (nicht empfohlen) zuzulassen, würden Sie verwenden:
Content-Security-Policy: Skript-Src 'unsicherer Inline';
Ein besserer Ansatz ist jedoch, Nonces oder Hashes zu verwenden:
<script nonce = "2726c7f26c"> alert ('erlaubte Skript'); </script>
Mit CSP:
Content-Security-Policy: Skript-SRC 'Nonce-2726c7f26c';
2. Externe Ressourcenkontrolle
Mit CSP können Sie vertrauenswürdige Quellen für das Laden von Ressourcen angeben:
- Skripte (
script-src
) - Stile (
style-src
) - Bilder (
img-src
) - Schriftarten (
font-src
) - Frames (
frame-src
) - Und mehr
Beispiel:
Content-Security-Policy: Standard-Src 'Self'; img-src *; script-src Trusted.cdn.com
Das heisst:
- Laden Sie standardmäßig alle Ressourcen aus demselben Ursprung
- Bilder aus jeder Domäne zulassen
- Erlauben Sie nur Skripte von
trusted.cdn.com
3. Verwendung mit HTML5 -APIs und -Featuren
CSP betrifft auch die modernen HTML5 -Funktionen:
- Webarbeiter : kontrolliert über
worker-src
- WebSocket-Verbindungen : Regie von
connect-src
-
<iframe>
Einbettung : Durchframe-ancestors
eingeschränkt, um ClickJacking zu verhindern -
<video>
und<audio>
: Ihre Quellen werden untermedia-src
überprüft
Zum Beispiel, um zu verhindern, dass Ihre Website in einen Iframe eingebettet wird:
Content-Security-Policy: Frame-Ones 'None';
4.. Verstöße berichten
CSP unterstützt einen Berichtsmechanismus unter Verwendung von report-uri
oder report-to
um Verstöße gegen Richtlinien zu sammeln:
Content-Security-Policy: Standard-Src 'Self'; Report-URI /CSP-Report-Endpunkt
Wenn ein Browser aufgrund von CSP eine Ressource blockiert, sendet er einen JSON -Bericht an den angegebenen Endpunkt und hilft Entwicklern dabei, Probleme zu erkennen und zu beheben.
Zusammenfassend erhöht CSP die HTML5-Sicherheit, indem feinkörnig die Kontrolle über welche Ressourcen der Browser geladen und ausführen kann. Es arbeitet Hand in Hand mit der reichhaltigen Funktion von HTML5, um das Risiko einer böswilligen Inhaltsausführung zu verringern, insbesondere durch Entmutigung unsicherer Praktiken wie Inline-JavaScript.
Es ist nicht Teil der HTML5 -Spezifikation per se, aber es ist ein kritischer Begleitstandard, den moderne HTML5 -Anwendungen implementieren sollten, um sicher zu bleiben.
Grundsätzlich teilt CSP dem Browser mit: „Führen Sie nur dann Code und laden Sie Vermögenswerte von Orten aus, denen ich vertraue“ - und der Browser erzwingt dies, selbst wenn Angreifer es schaffen, HTML- oder Skript -Tags zu injizieren.
Das obige ist der detaillierte Inhalt vonWie funktioniert die Inhaltssicherheitsrichtlinie (CSP) mit HTML5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SseenablesReal-Time, unidirektionalerver-zu-ClientUpdatesViahttp; UseEventSourceinjavaScripttoconnect, Handlemessages-withonMessage, setServerresponsetypetotext/Ereignisstream, formatdatawith "data:" \ n \ n \ n "und" und "und" \ n \ n "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und "und" und der

ARIAENHancesWebAccessibilityByAddingemanticmeaningtoelementsWhennativehtmlIsInsfaudien.Useariaroleslikerole = "Button", aria-expanded, andaria-labelforcustomcomponentSuchynamiccontent, Butalways-SpreferativhtmlelementsuchasButtonArnav.Update

UseemantichtmlelementlikeAndfornativeFocusabilityandKeyBoardsupport.EnsurelelogicalTaborderandisibleFocusinndicators.ProgrammaticManageFocuSindynamiccontentLikemodalseusesuSuSelement.focus (), TrappingfocusinsideanDretningIntungIntier -Fafterclosscloscucloscuse

UsethePattreNATTRIBUTEINHTML5InputElementstovalidateAgainstareGex, Suchasfor WordsRequiringNumbers, Großbuchstaben, Kleinbuchstaben und MinimumLength; PaarWithtitleforuserguidanceAndRequiredFornon-EMPTYE-Forcements.

TheploplederAttribUTeProvidesArtinIninInputfields.itappearsFaintlyandDisAppearswhentypingBegins, SupportedIntext, E -Mail, Tel, Search, andTextareAelements

UsecsSstroke-DasarrayandStroke-DasoffsetForSimpledrawinganimations; 2.ApplyjavaScriptfordynamictriggerlikeloadorsCroll; 3.Amplylibrary LikeGsapforPathmorphing; 4. optimizeparformancebyLimitingConcurrentanimationen.

Awell-struktururedhtml5pagestartswithand, gefolgt von byaSectionContaining, Ansichtsplätzen, Titel und CSSLinks, thenAwithsemanticelements wie ,,,,, und ForClearLayout, Barrierefreiheit und Seo.

DadurchAttributeInHtml5EsSuresForteFields AreFiledBeforeSubmission, unterstützt von ByInputTypesliketext, E-Mail, Passwort, Kontrollkästchen, Radio, Select und File; 2.ISADEDASABOOLEANATTRIbUTETOINPUTELEMENTS, TRIFERENDE INTROBROWSDASABOOLEANATTRIBUTOTOPUTELEMENTS, AUSGRIGGERUNGSFORTIERN
