Bazı kitaplıklar, çağıran için bazı işlemler gerçekleştirmek üzere kod oluşturup çalıştırarak çalışır. Temel sorun, daha az güvenen kod adına kod oluşturmak ve daha yüksek bir güvende çalıştırmaktır. Çağıranın kod oluşturmayı etkileyebileceğinden sorun daha da kötüleşir, bu nedenle yalnızca güvenli olarak kabul ettiğiniz kodun oluşturulduğundan emin olmanız gerekir.
Her zaman tam olarak hangi kodu oluşturduğunuzu bilmeniz gerekir. Başka bir deyişle, tırnak içine alınmış dizeler (beklenmeyen kod öğeleri içeremeyecek şekilde kaçış karakterinden çıkarılmalıdır), tanımlayıcılar (geçerli tanımlayıcılar olduğunu doğrulamak için denetlenmelidir) veya başka bir şey olsun, bir kullanıcıdan aldığınız tüm değerler üzerinde katı denetimlere sahip olmanız gerekir. Tanımlayıcılar tehlikeli olabilir çünkü derlenmiş bir derleme, tanımlayıcılarının garip karakterler içermesi için değiştirilebilir ve bu da büyük olasılıkla onu bozar (ancak bu nadiren bir güvenlik açığıdır).
Bu sorunların birçoğundan kaçınmanıza yardımcı olan yansıma yayma ile kod oluşturmanız önerilir.
Kodu derlerken, kötü amaçlı bir programın kodu değiştirmesinin bir yolu olup olmadığını göz önünde bulundurun. Derleyici okumadan önce veya kodunuz .dll dosyasını yüklemeden önce kötü amaçlı kodun disk üzerindeki kaynak kodunu değiştirebileceği küçük bir zaman penceresi var mı? Bu durumda, dosya sistemindeki bir Erişim Denetim Listesi'ni kullanarak bu dosyaları içeren dizini uygun şekilde korumanız gerekir.
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.