Yüklenen Belge Sanitizasyonu

SanitiseLoadedDocument, seçilen bir güvenlik ilkesini eksiksiz yüklenen nesne grafiğine uygular ve kompakt bir tam yeniden yazma hazırlar

Profiller

ProfilKaldırılan içerik
spJavaScriptOnlyBelge JavaScript ad ağaçları ve JavaScript eylemleri
spActiveContentJavaScript; ayrıca launch, uzak gezinme, URI, gönderim, içe aktarma, multimedya, rendition, XFA ve ilgili etkin içerik girdileri
spUntrustedDocumentTüm etkin içerik; ayrıca gömülü dosyalar, ilişkili dosyalar, dosya eki ek açıklamaları, zengin medya yük yapıları ve eylem taşıyan yuvalarda bulunan bilinmeyen eylem türleri
spRichMediaOnlyZengin medya ek açıklamaları ve bunların ayrık yük stream'leri
spRedactionCleanupYneletme ve dosya eki ek açıklamaları, belge bilgileri, üst veri, ilişkili ve gömülü dosyalar ile bu kaldırmalarla ulaşılamaz hâle gelen her nesne

Bildirim

function SanitiseLoadedDocument(Profile: THPDFSanitiseProfile;
  out Report: THPDFSanitiseReport): Boolean; overload;
function SanitiseLoadedDocument(
  out Report: THPDFSanitiseReport): Boolean; overload;

Profil olmadan aşırı yükleme spUntrustedDocument kullanır

Sonuç raporu

THPDFSanitiseReport, kaldırılan eylemleri, JavaScript girişlerini, gömülü dosyaları, riskli ek açıklamaları, XFA girişlerini, yük akışlarını, ayrılan başvuruları, ulaşılamayan nesneleri ve ziyaret edilen nesneleri sayar

Changed, nesne grafiğinin değişip değişmediğini gösterirken LimitExceeded ve InvalidObjectGraph reddedilen bir ön uçuşu açıklar

Güvenlik ve performans

Örnek

var
  Report: THPDFSanitiseReport;
begin
  PDF.LoadFromFile('untrusted.pdf');
  if not PDF.SanitiseLoadedDocument(spUntrustedDocument, Report) then
    raise Exception.Create('Document sanitisation was rejected');
  PDF.SaveLoadedDocument('sanitised.pdf');
end;

Kullanım notları

İlgili API'ler