Bu makalede, Microsoft Internet Explorer'da ve Windows Internet Explorer'da bir ActiveX denetiminin çalışmasının nasıl engelleneceği açıklanmaktadır. Bunu, ActiveX denetiminin Sınıf tanıtıcısının (CLSID) Compatibility Flags (Uyumluluk Bayrakları) DWORD değerinin veri değerini değiştirerek yapabilirsiniz.
Not Microsoft Windows XP ve Windows Server 2003 tabanlı bilgisayarlarda, yöneticiler Active Directory etki alanı ortamında bulunan herhangi bir bilgisayardaki programlarda ActiveX denetimlerinin çalıştırılmasını önlemek için Yazılım kısıtlama ilkelerini kullanabilir. Yazılım kısıtlama ilkeleri hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl değiştireceğinizin anlatıldığı adımlar içermektedir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756 Windows XP'de kayıt defterini yedekleme ve geri yükleme
Uyarı Microsoft bir ActiveX denetimi için sonlandırma işleminin geri alınmasını önermez. Bunu yaparsanız güvenlik açıkları oluşturabilirsiniz. Kill biti, genellikle kritik olabilecek bir nedenle ayarlanmış olabileceğinden, bir ActiveX denetimini sonlandırma işlemini geri alırken çok dikkatli olunmalıdır. Ayrıca, aşağıdaki yordam çok teknik olduğundan yordamın nasıl yapılacağından emin değilseniz devam etmeyin; başlamadan önce yordamın tamamının okunması iyi bir fikirdir.
ActiveX denetiminin CLSID'si bu denetimin GUID'sidir. Varsayılan ayarlar kullanıldığında, bir ActiveX denetiminin kill bitini ayarlayıp Internet Explorer tarafından hiç çağrılmamasını sağlayarak denetimin Internet Explorer'da çalıştırılmasını engelleyebilirsiniz.
Kill biti ActiveX denetiminin kayıt defterindeki Compatibility Flags DWORD değeri için özel bir değerdir. Bu, bir ActiveX denetiminin "komut dizilerinde çalıştırmak için güvenli" seçeneğinin iptal edilmesinden farklıdır. "Komut dizilerinde çalıştırmak için güvenli" seçeneği iptal edildiğinde, Internet Explorer yine de denetimi çağırır ve ActiveX denetiminin güvenli olmayabileceğini bildiren bir uyarı iletisi görüntüler. Yaptığınız seçime bağlı olarak, denetim çalıştırılabilir. Ancak, bir ActiveX denetimi için kill biti ayarlandığında, Internet Explorer'da Güvenli olarak işaretlenmemiş ActiveX denetimlerini başlat ve komut dizinlerinde kullan seçeneği etkinleştirilmemişse bu denetim Internet Explorer tarafından çağrılmaz. Kill bitini ayarlamak için şu adımları izleyin:
Devre dışı bırakmak istediğiniz ActiveX denetiminin CLSID değerini belirleyin. Denetimin CLSID değerinden emin değilseniz üreticiye başvurun. Denetim yüklüyse, kolay adını biliyorsanız CLSID değerini belirleyebilirsiniz. Bunu yapmak için,
HKEY_CLASSES_ROOT\CLSID
altındaki her bir CLSID anahtarı için ProgID anahtarının Varsayılan dize değerini inceleyin. Doğru CLSID değerini belirleyebilmek için devre dışı bırakmak istediğiniz dışındaki olabildiğince çok sayıda ActiveX denetimini kaldırmanız gerekebilir. ActiveX denetimlerini kaldırma hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
154850 Windows'da Bir ActiveX Denetimi Nasıl Kaldırılır
için Compatibility Flags DWORD değerinin veri değerini görüntülemek üzere Kayıt Defteri Düzenleyicisi'ni kullanın; burada ActiveX denetiminin CLSID değeri, ilgili ActiveX denetiminin sınıf tanıtıcısıdır.
Not Bu kayıt defteri anahtarını genellikle elle oluşturmanız gerekir.
Compatibility Flags DWORD değerini 0x00000400 olarak değiştirin.
ActiveX denetimi için bir kill biti ayarlanır ve farklı bir CLSID değeriyle ActiveX denetiminin yeni bir sürümü yayımlanırsa, eski CLSID değerini kullanan Web sitelerinin beklendiği gibi çalışmaya devam etmesini sağlayabilirsiniz. Bunu, yeni değeri kayıt defterinde Compatibility Flags değeriyle aynı düzeye ekleyerek yaparsınız. Bu değer, "AlternateCLSID" adlı bir REG_SZ dizesi olmalıdır. AlternateCLSID değeri kaşlı ayraçlar içinde görünür. Örneğin, aşağıdakine benzer:
{kill biti uygulanan ActiveX denetiminin CLSID değeri}, AlternateCLSID, "{alternatif ActiveX denetiminin CLSID değeri}"
Internet Explorer bu değeri yorumlar ve ActiveX denetiminin kill biti alan değerinde başvurulan yerine AlternateCLSID değerinde başvurulan bir örneğini oluşturur.
Not AlternateCLSID değerinin etkinleştirilmesi için, kill bitinin ilk CLSID'de ayarlanması gerekir.
ActiveX denetimi geliştiricileri, Internet Explorer'ın devre dışı bırakılmış bir ActiveX denetimi için güncelleştirilmiş bir ActiveX denetimi olup olmadığını denetlemesini sağlamak için, TreatAs veya AlternateCLSID kayıt defteri değerlerini "kill biti" ile kullanabilirler. TreatAs değerinin nasıl kullanılacağı hakkında bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Burada ActiveX denetiminin CLSID değeri, ilgili ActiveX denetiminin sınıf tanıtıcısıdır.
Compatibility Flags değerinin DWORD 00000400 olarak ayarlandığını görebilirsiniz.
CLSID anahtarına bir AlternateCLSID dize değeri ekleyin.
AlternateCLSID dize değerindeki verileri {alternatif ActiveX denetiminin CLSID değeri} olarak ayarlayın; burada {alternatif ActiveX denetiminin CLSID değeri}, güncelleştirilmiş ActiveX denetiminin sınıf tanıtıcısıdır.
AlternateCLSID değeri Internet Explorer'ın güncelleştirilmiş ActiveX denetiminin CLSID değerine yönlendirilmesini sağlar.. Yönlendirme zincirinin derinliği en çok on düzey olabilir.
AlternateCLSID değeri Internet Explorer'ın aşağıdaki sürümlerinde desteklenmektedir.
MS03-004 veya sonrası yüklü olarak Windows 2000 için Internet Explorer 5.01 Service Pack 2 veya sonrası
MS02-068 veya sonrası yüklü olarak Internet Explorer 5.5 Service Pack 2
Internet Explorer 6 Service Pack 1
MS02-068 yüklü olarak Windows XP için Internet Explorer 6 veya sonrası
Windows Server 2003 için Internet Explorer 6
Windows Server 2003 IA64 için Windows Internet Explorer 7
Windows XP için Windows Internet Explorer 7
Windows Server 2003 için Windows Internet Explorer 7.0
Windows Vista üzerinde Windows Internet Explorer 7.0
Not Bu makalede listelenmeyen Internet Explorer sürümleri, ürün destek ömrünün genişletilmiş aşamasındadır veya artık desteklenmemektedir. Bu Windows ve Internet Explorer sürümlerinde de kill bitini ayarlayabilmenize rağmen, Microsoft, Internet Explorer'ın desteklenen bir sürümüne yükseltmenizi ve uygun tüm güncelleştirmeleri uygulamanızı önermektedir.Internet Explorer'ın sürümünü belirleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
164539Internet Explorer'ın hangi sürümünün yüklü olduğu nasıl belirlenir
ActiveX denetimlerinin kill biti hakkında daha fazla bilgi için, aşağıdaki Microsoft Güvenlik Açığı Araştırma & Savunma Web Günlüğü postalarına bakın:
Kullandıkları ActiveX denetimiyle ilgili güvenlik sorunları yaşayan uygulama satıcıları, ActiveX denetimlerinin Internet Explorer'da çalışmasını engellemek üzere Microsoft'tan bir kill biti yayımlamasını isteyebilirler. Onaylanan istekler, ActiveX Kill Bitlerine Yönelik Güncelleştirme Toplaması adlı bir Güvenlik Danışma Belgesi'nde değerlendirilir. Microsoft yalnızca güvenlik açığı bulunduğu belirlenen ve bağımsız yazılım satıcısı (ISV) tarafından güncelleştirilmiş bir sürümün oluşturulmuş olduğu ActiveX denetimleri için kill biti yayımlar. Güvenlik açığından etkilenen ActiveX denetimleri olan ISV'ler, bu isteklerini aşağıdaki soruların yanıtlarıyla birlikte email@example.com adresine gönderebilirler:
Güncelleştirilmiş ActiveX denetiminin genel URL'si nedir?
Internet Explorer içinden kill biti alınması istenen ActiveX denetiminin CLSID değeri nedir?
Bu güncelleştirilmiş ActiveX denetimi, işlem sırasında güvenlik açığından etkilenen CLSID değerinin kill bitini ayarlayan yeni bir CLSID aldı mı? Bu işlemin nasıl gerçekleştirileceği bu Bilgi Bankası makalesinde belgelenmiştir.
İstenen ActiveX denetimi komut dosyası çalıştırılması güvenli veya başlatılması güvenli olarak işaretlenmiş mi?
İstenen ActiveX denetiminin eski sürümleri var mı? Yanıt "evet" ise, bunların CLSID değeri nedir?
İstenen ActiveX denetiminin müşterilere birincil teslim mekanizması nedir?
Bu güvenlik açığına yönelik ISV Danışma Belgesi'nin genel USL'si nedir?
Microsoft Internet Explorer 5.5, Microsoft Internet Explorer 6.0, Windows Internet Explorer 7 for Windows XP, Windows Internet Explorer 7 for Windows Server 2003, Windows Internet Explorer 7 in Windows Vista, Windows Internet Explorer 8, Windows Internet Explorer 9