.NET'te QuestPDF Filigranlamak için En İyi Alternatifleri Keşfedin
Bir kullanıcı portalınıza bir PDF yükler ve içinde ne olduğunu bilmiyorsunuz. IronPDF, bu dosyayı bir resme dönüştürüp geri döndürerek temizler, gömülü JavaScript, aktif nesneler, butonlar ve meta verileri soyar, ardından temiz bir belge oluşturur. Cleaner sınıfı, temizlemek için SanitizeWithBitmap ve SanitizeWithSvg özelliğini, tehditleri algılamak için ScanPdf özelliğini sunar. Tek bir ödünleşim seçimi yönetir: bitmap daha kapsamlıdır, ancak metin arama yeteneği kaybolur, SVG ise aranabilir kalır, ancak yerleşim kayabilir. Güvenlik için geçerliliği değiştiriyorsunuz ve ne kadarını yapacağınızı karar veriyorsunuz.
Güvenilmeyen kaynaklardan gelen PDF'leri etkisiz hale getirme
Yüklenen PDF'leri (bir portal, bir başvuru takipçisi, bir talepler sistemi) kabul eden herhangi bir uygulama, gelen dosyaları temizleyebilir, böylece gömülü betikler ve aktif içerik bir izleyiciye asla ulaşmaz:
using IronPdf;
var pdf = PdfDocument.FromFile("upload.pdf");
Cleaner.SanitizeWithSvg(pdf).SaveAs("upload-clean.pdf");
using IronPdf;
var pdf = PdfDocument.FromFile("upload.pdf");
Cleaner.SanitizeWithSvg(pdf).SaveAs("upload-clean.pdf");
Imports IronPdf
Dim pdf = PdfDocument.FromFile("upload.pdf")
Cleaner.SanitizeWithSvg(pdf).SaveAs("upload-clean.pdf")
İşlemden önce tarama yapma
ScanPdf, bir dosyayı varsayılan bir YARA kurallar kümesine (veya özel bir kurallar kümesine) karşı kontrol eder ve tehlikeli bir şey bulunup bulunmadığı hakkında bilgi verir; böylece bir işlem hattı depolamadan veya açmadan önce karantinaya alabilir ya da reddedebilir:
var pdf = PdfDocument.FromFile("upload.pdf");
CleanerScanResult result = Cleaner.ScanPdf(pdf);
if (result.IsDetected)
{
// quarantine: result.Risks holds the detections
}
var pdf = PdfDocument.FromFile("upload.pdf");
CleanerScanResult result = Cleaner.ScanPdf(pdf);
if (result.IsDetected)
{
// quarantine: result.Risks holds the detections
}
Imports System
Dim pdf = PdfDocument.FromFile("upload.pdf")
Dim result As CleanerScanResult = Cleaner.ScanPdf(pdf)
If result.IsDetected Then
' quarantine: result.Risks holds the detections
End If
Gömülü JavaScript açıklarını, şüpheli form eylemlerini, gizli içeriği, bilinen güvenlik açığı kalıplarını ve yetkisiz gömülü dosyaları tespit eder. ScanPdf sadece algıladığını unutmayın; Temizleme ise SanitizeWith yöntemleri tarafından yapılır.
Bulut dağıtımı için belgeleri sağlamlaştırma
Dosya bir sunucusuz veya paylaşılan bir ortama (Azure, AWS Lambda) girmeden önce etkin içerikleri soymak, oradaki saldırı yüzeyini azaltır. Dosya zaten hassas bir yerde çalışıyorsa değil, içeri giderken temizleyin.
Paylaşmadan önce meta verileri soymak
Belge bir resimden yeniden oluşturulduğu için, gizli yazar adları, revizyon izleri ve diğer meta veriler hayatta kalamayacaktır. Yayın öncesinde veya dosyayı organizasyonun ötesine göndermeden önce yararlıdır.
İmzalamak veya arşivlemek için temiz bir temel üretmek
Dijital bir imza veya PDF/A arşivlemesi öncesinde temizleme yapmak, betiksiz bir başlangıç noktası verir. Aktif içerik taşıyan bir belgeye nadiren tanık olmak veya on yıllarca saklamak istersiniz.
Metni korumanız gerektiğinde saklamak
Aşağı akış adımları kelimelere ihtiyaç duyduğunda (arama, dizinleme, erişilebilirlik, çıkarma), SVG kullanın: aktif katmanı ortadan kaldırır, ancak PDF aranabilir halde kalır, olası yerleşim kaymalarını kabul eder.
Temizlemenin yapamayacakları
Temizleme, bir sansürleme değildir. Görünür bilgileri değil, gizli ve etkin tehditleri ortadan kaldırır. İsimler, hesap numaraları ve bir insanın okuyacağı her şey tam olarak hayatta kalır. Hassas içeriği kaldırmak için bu yanlış bir araçtır; sansürleme kullanın.
Ve bitmap çıkışı bir görüntüdür. Aranamaz ve erişilemez: bir ekran okuyucusu ondan hiçbir şey almaz, bu da PDF/UA gibi erişilebilirlik hedefleriyle çelişir. Maksimum güvenlik aranabilirliğin önünde olduğunda sadece bitmap kullanın ve metnin hayatta kalması gerektiğinde SVG kullanın.
Güvenlik adımı olarak değerlendirin
Temizleme, güvenlik katmanınıza aittir, biçimlendirme katmanınıza değil. Kendiniz üretmediğiniz her şeyi üzerinde çalıştırın, önce tarayın, orijinali saklayın ve metnin hayatta kalıp kalmayacağına göre bitmap veya SVG seçin.
Sıkça Sorulan Sorular
IronPDF bir yüklenmiş PDF'yi nasıl temizler?
IronPDF'in Cleaner sınıfı, PDF'i bir resme dönüştürür ve gömülü JavaScript'i, aktif nesneleri, form düğmelerini ve metadataları çıkararak temiz bir belge olarak yeniden oluşturur. Maksimum detaylılık için Cleaner.SanitizeWithBitmap veya metin aranabilirliğini korumak için Cleaner.SanitizeWithSvg kullanın.
SanitizeWithBitmap ve SanitizeWithSvg arasındaki fark nedir?
SanitizeWithBitmap, PDF'i pikselli bir resim olarak işler ve bu resimden yeniden oluşturur — en detaylı seçenektir ancak aranamaz, erişilemez bir belge üretir. SanitizeWithSvg, metin aranabilir kalırken aktif içerik katmanını çıkarır, ancak düzen hafifçe kayabilir.
IronPDF, işlemeye başlamadan önce bir PDF'i tehditlere karşı tarayabilir mi?
Evet. Cleaner.ScanPdf, dosyayı varsayılan bir YARA kurallar setine (veya özel bir sete) karşı kontrol eder ve herhangi bir tehdidin tespit edilip edilmediğini ve ne olduğunu belirten bir CleanerScanResult döndürür. Tarama yalnızca tespitte bulunur — dosyayı temizlemek için bir SanitizeWith yöntemi çağırın.
ScanPdf hangi tehditleri tespit eder?
ScanPdf, gömülü JavaScript saldırılarını, şüpheli form eylemlerini, gizli içeriği, bilinen zafiyet desenlerini ve yetkisiz gömülü dosyaları tespit eder.
Temizleme, isimler veya hesap numaraları gibi hassas görünen bilgileri çıkarır mı?
Hayır. Temizleme, gizli ve aktif tehditleri çıkarır, görünür içeriği değil. İsimler, hesap numaraları ve tüm insan tarafından okunabilir metin korunur. Görünür hassas bilgileri kaldırmak için redaksiyon kullanın — temizleme bunun için uygun bir araç değildir.

