Uygulandığı Öğe
SharePoint Server 2019 SharePoint Server 2016 SharePoint Foundation 2013 SP1 Microsoft SharePoint Foundation 2010 Service Pack 2

Belirtiler

Aşağıdaki güncelleştirmelerden birini yükledikten sonra, Microsoft SharePoint'te bazı hayalet sayfalar işlemez:

Örneğin, Microsoft Identity Manager (MIM) portal sayfaları ve SharePoint Çözümü aracılığıyla dağıtılan özelleştirilmiş bazı sayfalar iş görünmez.

Buna ek olarak, aşağıdaki senaryolardan birini veya birden fazlasını da kullanabilirsiniz.

Senaryo 1

Engellenen hayalet sayfa aşağıdaki hata iletilerinden birini görüntüler: 

  • Bu sayfada 'autoeventwireup' özniteliğine izin verilmiyor.

  • Bu sayfada 'enablesessionstate' özniteliğine izin verilmiyor.

  • Bu dosyada kod bloklarına izin verilmez.

  • Bu sayfada 'OnSelectedIndexChanged' olay işleyicisine izin verilmez.Not Son hata iletisinde yer alan olay, "OnClick" gibi başka bir olay da olabilir.

Senaryo 2

Engellenen hayalet sayfa aşağıdaki hata iletisini görüntüler:

UnsafeControlException: Bu Sayfada Bir Web Bölümü veya Web Formu Denetimi görüntülenemiyor veya aktarılamaz. Tür bulunamadı veya güvenli olarak kayıtlı değil.

Senaryo 3

Engellenen hayalet sayfa aşağıdaki hata iletisini görüntüler:

Bu sayfada başvurulan '/_layouts/somedirectory/affectedusercontrol.ascx' dosyasına izin verilmez.

Neden

Hayalet sayfalar dosya sisteminde depolanır. Güvenlik düzeyi, sunucu tarafı betikleri ve güvenli olmayan denetimler tarafından geliştirilmiştir. Aşağıdaki koşullar doğruysa, hayalet bir sayfanın işlemesi engellenmiş olabilir:

  • Hayalet sayfa satır içinde kod veya sunucu tarafı betiği içerir.

  • Arka kod türü veya web bölümü türü güvenli olarak kayıtlı değildir.

Senaryo 1 için çözüm

Bu sorunu çözmek için, configuration/SharePoint/SafeMode/PageParserPaths öğesinin altındaki Web.config dosyasına VirtualPath özniteliğine sahip yeni bir PageParserPath öğesi ekleyin.

Örneğin, aşağıdaki hata iletisini alırsınız:

"Bu sayfada 'autoeventwireup' özniteliğine izin verilmiyor."

Bu durumda, pageParserPath öğesini aşağıdaki gibi eklemeye devam edebilirsiniz:

<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>

Aynı sanal dizindeki tüm sayfaların engellemesini kaldırmanız gerekirse, pageparserPath öğesini aşağıdaki gibi kullanabilirsiniz:

<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, engellenen sayfanın yoludur.

  • VirtualPath, hayalet olan ve hiçbir kullanıcı tarafından hayalet olarak hayalet olarak kaldırılamaz bir sayfaya veya bu tür bir sayfa içeren dizine başvurur.

  • VirtualPath, başka bir sayfaya veya yeniden barındırılanın kaldırılala bir ana sayfaya başvur olmayan bir sayfaya ya da böyle bir sayfa veya ana sayfa içeren bir dizine başvur olmalıdır.

  • DirectFileDependencies, izin verilen doğrudan dosya bağımlılıklarının sayısını gösterir. "İzin verilen doğrudan dosya bağımlılıklarının sayısı sınırı aşıyor" gibi bir hata iletisi alırsanız, bu değeri değiştirebilirsiniz.

Senaryo 2 için çözüm

Bu sorunu çözmek için, SafeControls öğesinde (Çözüm)açıklandığı gibi, verilen tür, ad alanı ve derlemenin güçlü adı için yeni bir SafeControls öğesini configuration/SharePoint/SafeControls öğesinin altındaki Web.config dosyasına ekleyin. Ardından, Safe özniteliğini TRUE olarak ayarlayın.

SafeControls öğesinde öznitelik değerlerinin biçimi hakkında daha fazla bilgi için, Nasıl Olur: Denetimleri güvenli denetim olarak işaretlemenin "Paket Tasarımcısı'nda Güvenli Denetimleri İşaretleme" bölümündeki 12. adımdaki tabloya bakın.

Senaryo 3 için çözüm

Bu sorunu çözmek için, configuration/SharePoint/SafeControls öğesinin altındaki Web.config dosyasına Src özniteliğini kullanan yeni bir SafeControls öğesi ekleyin.

Örneğin, aşağıdaki hata iletisini alırsınız:

"Bu sayfada '/_layouts/somedirectory/affectedusercontrol.ascx' dosyasına izin verilmiyor."

Bu durumda, aşağıdaki örneklerde olduğu gibi SafeControls öğesini eklersiniz:

< SafeControls>
    <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>

< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.