Simptomi
Kada instalirate jedno od sljedećih ažuriranja, neke fantomne stranice u sustavu Microsoft SharePoint ne prikazuju se:
- Opis sigurnosnog ažuriranja za SharePoint Server 2019: 8. rujna 2020. (KB 4484505)
- 21. rujna 2020., ažuriranje za SharePoint Server 2019 (KB4461512)
- Opis sigurnosnog ažuriranja za SharePoint Enterprise Server 2016: 8. rujna 2020. (KB 4484506)
- Opis sigurnosnog ažuriranja za SharePoint Foundation 2013: 8. rujna 2020. (KB 4484525)
- Opis sigurnosnog ažuriranja za SharePoint Foundation 2010: 8. rujna 2020. (KB 4486667)
Stranice portala Microsoft Identity Manager (MIM) i neke prilagođene stranice implementirane putem rješenja sustava SharePoint ne prikazuju se, primjerice.
Osim toga, mogli biste se susresti s jednom ili više sljedećih scenarija.
Prvi scenarij
Blokirana fantomna stranica prikazuje jednu od sljedećih poruka o pogrešci:
Napomena
Atribut 'autoeventwireup' nije dopušten na ovoj stranici.
Atribut "enableSessionState" nije dopušten na ovoj stranici.
Blokovi koda nisu dopušteni u ovoj datoteci.
Rukovatelj događaja "OnSelectedIndexChanged" nije dopušten na ovoj stranici.
Napomena Događaj u zadnjoj poruci o pogrešci mogao bi biti i neki drugi događaj, npr. "Prilik klikom".
Drugi scenarij
Na blokiranoj fantomnoj stranici prikazuje se sljedeća poruka o pogrešci:
Napomena
UnsafeControlException: kontrola web-dijela ili web-obrasca na ovoj stranici ne može se prikazati ni uvesti. Vrstu nije moguće pronaći ili nije registrirana kao sigurna.
Treći scenarij
Na blokiranoj fantomnoj stranici prikazuje se sljedeća poruka o pogrešci:
Napomena
Referentna datoteka "/_layouts/somedirectory/affected usercontrol.ascx" nije dopuštena na ovoj stranici.
Uzrok
Ghosted stranice pohranjuju se u datotečnom sustavu. Razina sigurnosti pojačana je zabranom skripti na strani poslužitelja i nesigurnih kontrola. Renderiranje fantomne stranice može biti blokirano ako su ispunjeni sljedeći uvjeti:
- Fantomska stranica sadrži umetnuti kod ili skriptu na strani poslužitelja.
- Vrsta koja se nalazi ispred koda ili vrsta web-dijela nije registrirana kao sigurna.
Rješenje za prvi scenarij
Da biste riješili taj problem, dodajte novi element PageParserPath koji ima atribut VirtualPath u datoteku Web.config u sklopu elementa configuration/SharePoint/SafeMode/PageParserPaths .
Prikazuje vam se, primjerice, sljedeća poruka o pogrešci:
"Atribut 'autoeventwireup' nije dopušten na ovoj stranici."
U tom slučaju element PageParserPath možete dodati na sljedeći način:
<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>
Ako je potrebno deblokirati sve stranice u istom virtualnom direktoriju, možete koristiti element PageParserPath na sljedeći način:
<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>
Napomena
- VirtualPath je put do blokirane stranice.
- VirtualPath mora upućivati na stranicu koja je fantomna i koju nijedan korisnik ne može hostirati niti direktorij koji takvu stranicu sadrži.
- VirtualPath mora upućivati na stranicu koja ne referencira drugu stranicu, osnovnu stranicu koja može biti nearhivirana ili direktorij koji takvu stranicu ili osnovnu stranicu ne sadrži.
- DirectFileDependencies označava broj dopuštenih izravnih ovisnosti datoteka. Ako primite poruku o pogrešci kao što je "broj dopuštenih izravnih ovisnosti datoteka premašuje ograničenje", promijenite tu vrijednost.
Rješenje za drugi scenarij
Da biste riješili taj problem, dodajte novi element SafeControls za dani type, prostor naziva i snažni naziv skupa u datoteku Web.config pod elementom configuration/SharePoint/SafeControls, kao što je opisano u elementu SafeControls (rješenje). Zatim postavite atribut Safe na TRUE.
Dodatne informacije o obliku vrijednosti atributa u elementu SafeControls potražite u tablici u 12. koraku u odjeljku "Označavanje sigurnih kontrola u značajci Package Designer" u članku Upute: Označavanje kontrola kao sigurnih kontrola.
Rješenje za treći scenarij
Da biste riješili taj problem, dodajte novi element SafeControls koji koristi atribut Src u datoteku Web.config pod elementom configuration/SharePoint/SafeControls .
Prikazuje vam se, primjerice, sljedeća poruka o pogrešci:
"Referentna datoteka '/_layouts/somedirectory/affectedusercontrol.ascx' nije dopuštena na ovoj stranici."
U tom slučaju možete dodati element SafeControls , kao u sljedećim primjerima:
< SafeControls>
<SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>
< SafeControls SafeControl><src="~/_layouts/somedirectory/*" includeSubfolders="true" safe="true" /></SafeControls>