Simptomi
Pēc kāda no šiem atjauninājumiem instalēšanas dažas spokotās lapas koplietošanas vidē Microsoft SharePoint netiek atveidotas:
-
SharePoint Server 2019 drošības atjauninājuma apraksts: 2020. gada 8. septembris (KB 4484505)
-
2020. gada 21. septembra atjauninājums sharePoint Server 2019 (KB4461512)
-
SharePoint Foundation 2013 drošības atjauninājuma apraksts: 2020. gada 8. septembris (KB 4484525)
-
SharePoint Foundation 2010 drošības atjauninājuma apraksts: 2020. gada 8. septembris (KB 4486667)
Piemēram, Nevar atveidot Microsoft Identity Manager (MIM) portāla lapas un dažas pielāgotas lapas, kas izvietotas, izmantojot SharePoint risinājumu.
Turklāt var rasties viens vai vairāki no šiem scenārijiem.
1. scenārijs
Bloķētā spokotā lapa parāda kādu no tālāk minētajiem kļūdas ziņojumiem.
-
Atribūts "autoeventwireup" šajā lapā nav atļauts.
-
Atribūts 'enablesessionstate' šajā lapā nav atļauts.
-
Šajā failā nav atļauts izmantot kodu blokus.
-
Notikumu apdarinātājs "OnSelectedIndexChanged" šajā lapā nav atļauts.
Piezīme Pēdējā kļūdas ziņojuma notikums var būt arī cits notikums, piemēram, "OnClick".
2. scenārijs
Bloķētā spoku lapa parāda šādu kļūdas ziņojumu:
NedrošsControlException: tīmekļa daļu vai tīmekļa veidlapas vadīklu šajā lapā nevar ne parādīt, ne importēt. Tipu nevarēja atrast vai tas nav reģistrēts kā drošs.
3. scenārijs
Bloķētā spoku lapa parāda šādu kļūdas ziņojumu:
Šajā lapā nav atļauts izmantot atsauces failu _layouts/somedirectory/affectedusercontrol.ascx.
Cēlonis
Spokotās lapas tiek glabātas failu sistēmā. To drošības līmenis tiek uzlabots, pārvienojot servera puses skriptus un nedrošas vadīklas. Spoku lapu var bloķēt atveidošana, ja ir spēkā šādi nosacījumi:
-
Spokotā lapa satur rindiņas kodu vai servera puses skriptu.
-
Kods aiz tipa vai tīmekļa daļas tips nav reģistrēts kā drošs.
Risinājums 1. scenārijam
Lai novērstu šo problēmu, pievienojiet jaunu elementu PageParserPath, kuram ir virtualPath atribūts Web.config failā ar konfigurāciju/SharePoint/SafeMode/PageParserPaths elementu.
Piemēram, tiek parādīts šāds kļūdas ziņojums:
"Atribūts "autoeventwireup" šajā lapā nav atļauts."
Šajā gadījumā varat pievienot elementu PageParserPath, kā norādīts tālāk.
<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>
Ja visas viena virtuālā direktorija lapas ir atbloķētas, varat izmantot elementu PageParserPath, kā norādīts tālāk.
<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 ir bloķētās lapas ceļš.
-
VirtualPath ir jāatsaucas uz lapu, kas ir spoku, un to nevar nedubultot ne lietotājs, ne direktorijs, kurā ir šāda lapa.
-
VirtualPath ir jāatsaucas uz lapu, kurā nav atsauces uz citu lapu vai lappušu šablonu, ko var nedubulot, vai uz direktoriju, kurā nav šādas lappuses vai lappušu šablona.
-
DirectFileDependencies norāda atļauto tiešo failu atkarību skaitu. Ja tiek parādīts kļūdas ziņojums, piemēram, "atļauto tiešo failu atkarību skaits pārsniedz ierobežojumu", mainiet šo vērtību.
2. scenārija risinājums
Lai novērstu šo problēmu, pievienojiet jaunu konkrētā tipa, nosaukumvietu un montāžas stipru nosaukumu Web.config failam elementā Configuration/SharePoint/SafeControls, kā aprakstīts rakstā Elements SafeControls (Risinājums). Pēc tam iestatiet drošo atribūtu uz TRUE.
Lai iegūtu papildinformāciju par atribūtu vērtību formātu elementā SafeControls, skatiet tabulu 12. darbībā sadaļā "Drošo vadīklu atzīmēšana pakotņu noformētājā" rakstā Kā:vadīklu atzīmēšana par drošām vadīklām .
3. scenārija risinājums
Lai novērstu šo problēmu, pievienojiet jaunu elementu SafeControls, kas izmanto Src atribūtu Web.config failam konfigurācijā/SharePoint/SafeControls elementā.
Piemēram, tiek parādīts šāds kļūdas ziņojums:
"Šajā lapā nav atļauts izmantot failu '/_layouts/somedirectory/affectedusercontrol.ascx'.
Šajā gadījumā elementu SafeControls varat pievienot kā šādos piemēros:
< SafeControls>
<SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>
< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>