Príznaky
Po nainštalovaní jednej z nasledujúcich aktualizácií sa niektoré duchové stránky v Microsoft SharePointe nevykreslia:
-
Popis aktualizácie zabezpečenia pre SharePoint Server 2019: 8. septembra 2020 (KB 4484505)
-
21. septembra 2020, aktualizácia pre SharePoint Server 2019 (KB4461512)
-
Popis aktualizácie zabezpečenia pre SharePoint Foundation 2013: 8. septembra 2020 (KB 4484525)
-
Popis aktualizácie zabezpečenia pre SharePoint Foundation 2010: 8. septembra 2020 (KB 4486667)
Nevykresľujú sa napríklad stránky portálu Microsoft Identity Manager (MIM) a niektoré prispôsobené stránky nasadené prostredníctvom riešenia SharePointu.
Okrem toho sa môže vyskytnúť jeden alebo viacero z nasledujúcich scenárov.
Scenár č. 1
Blokovaná neúchavá stránka zobrazí jedno z nasledujúcich chybových hlásení:
-
Atribút autoeventwireup nie je na tejto stránke povolený.
-
Atribút "enablesessionstate" na tejto stránke nie je povolený.
-
Bloky kódu nie sú v tomto súbore povolené.
-
Obslužný program udalostí OnSelectedIndexChanged nie je na tejto stránke povolený.
Poznámka Udalosť v poslednom chybovom hlásení môže byť aj inou udalosťou, napríklad "PriKliknutie".
Scenár 2
Na zablokovanej vynechanej stránke sa zobrazí toto chybové hlásenie:
UnsafeControlException: Webová časť alebo ovládací prvok webového formulára na tejto stránke sa nedá zobraziť ani importovať. Typ sa nepodarilo nájsť alebo nie je registrovaný ako bezpečný.
Scenár 3
Na zablokovanej vynechanej stránke sa zobrazí toto chybové hlásenie:
Súbor, na ktorý sa odkazuje /_layouts/somedirectory/affectedusercontrol.ascx, nie je na tejto stránke povolený.
Príčina
V systéme súborov sú uložené tieňované strany. Ich úroveň zabezpečenia sú vylepšené skriptami na strane servera forbibi o nebezpečné ovládacie prvky. Ak sú splnené nasledujúce podmienky, môže byť zablokované vykreslenie stránky:
-
Táto duchová stránka obsahuje v riadku kód alebo skript na strane servera.
-
Kód, ktorý je za typom alebo typom webovej časti, nie je registrovaný ako bezpečný.
Riešenie pre scenár 1
Ak chcete tento problém vyriešiť, pridajte nový prvok PageParserPath, ktorý má atribút VirtualPath do súboru Web.config v rámci konfigurácie/SharePoint/SafeMode/PageParserPaths.
Zobrazí sa napríklad nasledujúce chybové hlásenie:
Atribút autoeventwireup nie je na tejto stránke povolený.
V tomto prípade môžete pridať prvok PageParserPath takto:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true"/>
</PageParserPaths>
</SafeMode>
Ak je potrebné odblokovať všetky stránky v tom istom virtuálnom adresári, môžete použiť prvok PageParserPath nasledovným spôsobom:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
</PageParserPaths>
</SafeMode>
-
VirtualPath je cesta zablokovanej stránky.
-
VirtualPath musí odkazovať na stránku, ktorá je nanecháná a nemôže ju kúzlať žiadny používateľ ani adresár, ktorý takúto stránku obsahuje.
-
VirtuálnyPath musí odkazovať na stránku, ktorá neobsahuje odkaz na inú stránku alebo predlohu, ktorá sa dá vybrať, alebo na adresár, ktorý túto stránku alebo predlohu neobsahuje.
-
DirectFileDependencies označuje počet povolených priamych závislostí súborov. Ak sa zobrazí chybové hlásenie, ako je napríklad počet povolených závislostí priameho súboru, ktorý presahuje limit, zmeňte túto hodnotu.
Riešenie pre scenár 2
Ak chcete tento problém vyriešiť, pridajte nový prvok SafeControls pre daný typ, priestor názvov a zostavy silný názov do súboru Web.config v rámci prvku konfigurácia/SharePoint/SafeControls, ako je to popísané v prvku Bezpečné ovládacie prvky (riešenie). Potom nastavte atribút Safe na hodnotu TRUE.
Ďalšie informácie o formáte hodnôt atribútov v prvku Bezpečné ovládacie prvky nájdete v tabuľke v kroku 12 v časti Označenie bezpečných ovládacích prvkov v návrhárovi balíka v článku Postup:Označenie ovládacích prvkov ako bezpečných ovládacích prvkov.
Riešenie pre scenár 3
Ak chcete tento problém vyriešiť, pridajte nový prvok SafeControls, ktorý používa atribút Src, do súboru Web.config v rámci prvku konfigurácia/SharePoint/SafeControls.
Zobrazí sa napríklad nasledujúce chybové hlásenie:
Súbor, na ktorý sa odkazuje /_layouts/somedirectory/affectedusercontrol.ascx, nie je na tejto stránke povolený.
V tomto prípade môžete pridať prvok Bezpečné ovládacie prvky, ako je to uvedené v nasledujúcich príkladoch:
< SafeControls>
<SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>
< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>