Content
Security Policy
Content
Security Policy (CSP) ist eine Sicherheitsfunktion, die hilft, verschiedene
Angriffsvektoren abzuwehren, darunter Cross-Site Scripting (XSS), Clickjacking
und andere Code-Injection-Angriffe. CSP ermöglicht es einer Website, zu
steuern, welche Ressourcen eine Seite laden darf.
Wenn der Browser einen CSP-Verstoß erkennt, meldet er sich
in der Konsole:
Aktion Word-Dokumente generieren
Aufgrund von CSP kann die Aktion "Handle Word Document
Generate in Modern Forms/List Actions/Automation Actions plötzlich aufhören,
Dokumente zu generieren. Um dieses Problem zu lösen, folgen Sie einer der
nächsten Optionen:
Option 1 – Teamsware Studio Add-in aktualisieren
(empfohlen)
Aktualisieren
Sie das Teamsware Studio Modern Add-in auf Version 1.3.113 oder höher
Wenn
du Deployment benutzt
Option 2 – Hinzufügen vertrauenswürdiger Skriptquellen
Externe Schriftreferenzen
Aufgrund von CSP kann die Nutzung externer Skripte in Modern
Forms/List Actions/Automation Actions das Laden von Skripten stoppen. Um dieses
Problem zu lösen, folgen Sie einer der nächsten Optionen:
Hinweis 1: Wenn Sie eine externe URL verwenden (zum
Beispiel:
https://cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js),
müssen Sie diese URL über diese URL in Trusted Script Sources im
SharePoint-Verwaltungszentrum einfügen: https://yourtenant-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx#/contentSecurityPolicy
Hinweis 2: Das Laden externer Skripte wird in Visible und Name Expressions
in List Actions nicht unterstützt
Inline-Skripte in Teamsware-Steuerungen/-ausdrücken
Teamsware bietet die Möglichkeit, benutzerdefiniertes
JavaScript in Expressions und benutzerdefiniertes HTML in Rich Text Controls zu
schreiben. Diese Anpassungen können Inline-Skripte oder Inline-Event-Handler
umfassen, die von Nutzern in ihren Lösungen erstellt werden.
Die folgenden Fälle können von CSP blockiert werden:
- Inline Event Handlers (JavaScript embedded in HTML attributes):
<button onclick="alert('Hi')">Click</button>
<body onload="init()">...</body>
<input onkeyup="myFunction();">
- JavaScript embedded in href or src attributes:
<a href="javascript:alert('Hi')">Click</a>
- Document.write() with Inline Scripts:
document.write("<script>alert('Hi')</script>");
- Dynamically Created Inline Scripts:
const s = document.createElement('script');
s.textContent = "alert('Hi')";
document.head.appendChild(s);
- InnerHTML or insertAdjacentHTML with <script>:
element.innerHTML = "<script>alert('Hi')</script>";
Um zu vermeiden, dass Skripte durch CSP blockiert werden,
verwenden Sie folgende Ansätze:
Für
Skripte – erstellen Sie .js Datei und verwenden Sie /// <reference
path="path-to-js-file" /> in Expressions and Actions
Für
Inline-Event-Handler – verwenden Sie einenddEventListener. Zum
Beispiel fügen Sie den folgenden Code zur Aktion Execute script in den
After-Form Load-Actions hinzu, um myFunctions zu my-element1
zuzuweisen
function myFunction () {
alert("My Function");
}
//Element ID defined e.g. in Rich Text Control
const elementId = 'my-element1';
const element = document.getElementById(elementId);
if (element) {
element.addEventListener('keyup', myFunction);
}
Hinweis: Der folgende jQuery-Code funktioniert ebenfalls
$('#my-element1').on('keyup', myFunction);