FastReport .NET WEB raporları için İçerik Güvenlik Politikası nasıl yapılandırılır?

2026-07-10

İçerik Güvenliği Politikası

İçerik Güvenlik Politikası (CSP), web uygulamalarını XSS saldırılarından korumak için önemli bir araçtır; ancak raporlama sistemleriyle entegrasyonu genellikle zorluklarla doludur. FastReport .NET WEB'in son sürümlerinde, istemci tarafı mimarisi önemli ölçüde yeniden tasarlandı; bu da rapor işlevselliğini kaybetmeden sıkı bir CSP uyumluluğunu basitleştiriyor. Bu makalede, FastReport raporları için CSP'nin nasıl doğru şekilde yapılandırılacağını inceleyeceğiz ve tipik riskleri ele alacağız.

 


 

CSP nasıl çalışır ve neden gereklidir

İçerik Güvenlik Politikası (CSP), bir sayfada hangi kaynakların (komut dosyaları, stiller, yazı tipleri, resimler, bağlantılar vb.) yüklenebileceğini ve çalıştırılabileceğini kontrol etmenizi sağlayan bir güvenlik mekanizması veya hatta web uygulamaları için bir standarttır. CSP, HTTP başlığı Content-Security-Policy veya HTML meta etiketi aracılığıyla uygulanır.

Csp'nin temel amacı, Siteler Arası Komut Dosyası Oluşturma (XSS) saldırılarını ve kötü amaçlı kodların kullanılmasını önlemektir. İlke, saldırgan sayfaya bir etiket enjekte etmeyi başarsa bile imzasız veya yetkisiz komut dosyalarının yürütülmesini yasaklar<script>.

Ek olarak, CSP şunları yapabilir:

  • Verilerin üçüncü taraf alan adlarına gönderilmesini kısıtlayın.
  • eval()Ve benzeri yapıların kullanımını kontrol eder.
  • İstenmeyen stillerin, yazı tiplerinin veya eklentilerin yüklenmesini engelleyin.

 


 

Anahtar CSP Direktifleri

YÖNERGE amaç ÖRNEK DEĞER
default-src Tüm kaynak türleri için varsayılan kaynak 'öz'
script-src JavaScript için izin verilen kaynaklar 'kendisi', 'tek seferlik', 'geçici'
style-src CSS için izin verilen kaynaklar 'self' ve 'unsafe-inline' ifadeleri
img-src Görüntüler için izin verilen kaynaklar veri: https:
connect-src Fetch, XHR ve WebSocket için izin verilen adresler 'self' http://ws:// adresi
font-src Yazı tipleri için izin verilen kaynaklar https://fonts.gstatic.com
object-src <object> ve <embed> için izin verilen kaynaklar 'yok'
base-uri <base> etiketi için URL kısıtlaması 'öz'
frame-ancestors Ebeveynlerin bir iframe'e gömülmesine izin verildi 'yok'

 


 

Anahtar CSP Değerleri

  • 'self' — yalnızca kendi alan adı (şema ve port dahil).
  • 'unsafe-inline' — Satır içi komut dosyalarına ve stillere izin verin (dikkatli kullanın).
  • 'unsafe-eval' - eval() ve benzeri yapılara izin ver.
  • 'nonce-{value}' - tek seferlik şifreleme jetonu.
  • 'sha256-{hash}' — Satır içi betik/stil içeriğinin özeti.
  • data: — Verilere izin ver: URL'ler (görseller için geçerlidir).
  • https: - herhangi bir HTTPS kaynağına izin verin.

 


 

ASP .NET Core uygulamalarında CSP'yi etkinleştirme örneği:

uygulama.Kullanım (zaman uyumsuz (bağlam, sonraki) =>
{
 bağlam.Yanıt.Başlıklar.ContentSecurityPolicy =  "script-src: 'self', 'unsafe-inline', 'unsafe-eval'; style-src: 'self', 'unsafe-inline' ; şeklinde ayarlanmalıdır.
 sonrakini bekle();
});


Bunu HTML işaretlemesinde de yapabilirsiniz:

<meta http-equiv="İçerik-Güvenlik-İlkesi" 
 content = "varsayılan - src'öz';
 komut dosyası-src'öz';
 stil-src'öz';
 img-src: data: https:;
 object-src: 'none';;

 


 

FastReport .NET WEB'in İstemci Tarafı Mimarisindeki Değişiklikler

FastReport .NET WEB'in son sürümlerinde, istemci tarafı mimarisi önemli ölçüde yeniden düzenlenmiştir:

  • JavaScript betikleri statik dosyalara taşındı; artık betikler için unsafe-inline belirtmek gerekli değildir.
  • Kontrol öğelerinin stilleri statik CSS dosyalarına dönüştürüldü; bu da görünüm yönetimini basitleştiriyor.

Raporlardaki satır içi stiller hakkında önemli not: Rapor sayfalarının içeriği (tablolar, metin, kenarlıklar) için oluşturulan stiller satır içi kalır. Raporun doğru görüntülenmesi için direktifte izin verilmesi gerekmektedirunsafe-inlinestyle-src.

JS ve CSS'yi statik dosyalara taşımak, yalnızca CSP ile uyumluluk sağlamakla kalmadı, aynı zamanda kaynak dosyaları değiştirmeden (örneğin daha yüksek önceliğe sahip ek bir CSS dosyası aracılığıyla) WebReport stillerini geçersiz kılma olanağı da sağladı. Ayrıca, davranış kapsamı genişletildi; artık kendi betiklerinizi bağlayabilir, yöntemleri geçersiz kılabilir ve işleyiciler ekleyebilirsiniz. Ve tabii ki önbelleğe alma iyileştirildi; tarayıcı statik içeriği yalnızca bir kez yüklüyor.

 


 

CSP'yi Aşma Senaryoları ve Bunlara Karşı Korunma Yolları

Csp'nin güvenilirliğine rağmen, onu atlamak için senaryolar var. Bunların çoğu standardın eksiklikleri ile değil, uygulama hataları ile ilgilidir.

1. Zayıf Tarayıcı Desteği

Internet Explorer, CSP'yi kısmen destekler; önemli yönergeleri görmezden gelebilir. Modern tarayıcılar (Chrome, Opera, Safari, Firefox) düzgün çalışır.

Çözüm: Güncel olmayan tarayıcılarda yalnızca CSP'ye güvenmeyin; ek güvenlik mekanizmaları kullanın.

2. Otomatik iframe içinde JavaScript

Bir metin belgesi veya resim açıldığında, tarayıcı otomatik olarak bir iframe sarmalayıcısı oluşturabilir. Bu sayfada yapılandırılmış bir CSP bulunmamaktadır, bu da kötü amaçlı kodun çalıştırılmasına izin verir.

Çözüm: İndirilebilir kaynaklar da dahil olmak üzere oluşturulan tüm sayfalar için CSP'yi yapılandırın.

3. Hata Sayfalarında (4xx, 5xx) CSP'nin Eksikliği

Geliştiriciler genellikle 404.403.500 hatayı unutarak yalnızca çalışma sayfalarını korurlar. Saldırgan, böyle bir sayfaya sahip bir kareye komut dosyası enjekte edebilir.

Çözüm: CSP'yi ara yazılım veya bir web sunucusu (Nginx, IIS, Apache) aracılığıyla küresel olarak uygulayın.

4. Dosya Paylaşım Hizmetlerinden Komut Dosyaları Yükleniyor

Bazı siteler içerik kaynağı olarak bulut depolamayı (Google Drive) kullanır. Saldırgan oraya kötü amaçlı bir dosya veya komut dosyası yerleştirebilir.

Çözüm: Kritik bir gereklilik olmadığı sürece script-src'de 'unsafe-inline' ve https: kullanmayın. Bunun yerine, belirli alan adlarını belirtin: script-src 'self' https://trusted-cdn.com;

 


 

Sonuç: FastReport .NET WEB'in Yeni Sürümünde Güvenlik, Esneklik ve Performans

Böylece, FastReport .NET WEB'in yeni sürümü, sıkı bir CSP politikasına sahip uygulamalarda raporları güvenle kullanmanıza olanak tanır ve unsafe-inline gibi istisnaları en aza indirir. Aynı zamanda, geliştirici şunları elde eder:

  • Güvenlik – XSS saldırılarına karşı koruma.
  • Esneklik – Görünüm ve davranışın kolayca özelleştirilebilmesi.
  • Performans – Statik içeriğin önbelleğe alınması nedeniyle.

Raporların işlevselliğinden ödün vermeden projelerinizde sıkı bir CSP uygulayın.

.NET FastReport WebReport HTML CSS
21 Eylül 2026, Pazartesi

FastReport .NET için Bir AI Aracısını Yapılandırma: Mimari, Sınırlamalar ve Rapor Taşıma

FastReport .NET için yapay zeka özelliği: Crystal Reports ve StimulSoft’tan raporların otomatik olarak taşınması, .NET 8/9 için yeniden düzenleme, şablon oluşturma ve veri sızıntılarına karşı koruma.
8 Eylül 2026, Salı

FP3 Formatı ile ilgili Sıkça Sorulan Soruların Cevapları

FP3 formatıyla ilgili 11 yaygın soruyu inceleyeceğiz: bu dosyaların ne olduğu, FR3 dosyalarından nasıl farklı oldukları, hangi programların bunları açabileceği ve PDF'ye nasıl dönüştürüleceği.
4 Eylül 2026, Cuma

FastReport .NET'ten bir raporu DXF formatına nasıl aktarabilirim?

Bu makalede, bir raporu DXF formatına aktarma yöntemlerini inceleyeceğiz ve ayrıca dosya bir CAD uygulamasında açıldıktan sonra elde edilen çıktının nasıl göründüğünü göreceğiz.

© 1998-2026 Fast Reports Inc.