Loaded Document Sanitisation

SanitiseLoadedDocument primjenjuje odabranu sigurnosnu politiku na cijeli učitani graf objekata i priprema kompaktni potpuni prepis

Profili

ProfilUklonjeni sadržaj
spJavaScriptOnlyStabla naziva dokumentnog JavaScripta i JavaScript akcije
spActiveContentJavaScript plus launch, udaljena navigacija, URI, podnošenje, uvoz, multimedijski, prikazni, XFA i srodni unosi aktivnog sadržaja
spUntrustedDocumentSav aktivni sadržaj plus ugrađene datoteke, pridružene datoteke, napomene privitaka datoteka, strukture tereta bogatih medija i nepoznati tipovi akcija pronađeni u utorima s akcijama
spRichMediaOnlyNapomene bogatih medija i njihovi odvojeni tokovi tereta
spRedactionCleanupNapomene Redact i privitaka datoteka, informacije dokumenta, metapodaci, pridružene i ugrađene datoteke te svaki objekt koji su ta uklanjanja učinila nedostižnim

Deklaracija

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

Preopterećenje bez profila koristi spUntrustedDocument

Izvještaj rezultata

THPDFSanitiseReport broji uklonjene akcije, JavaScript unose, ugrađene datoteke, rizične napomene, XFA unose, tokove tereta, odvojene reference, nedostižne objekte, unose metapodataka, napomene Redact, odbačene bajtove ranijih revizija i posjećene objekte

Changed označava je li se graf objekata promijenio, dok LimitExceeded i InvalidObjectGraph objašnjavaju odbijeni predkontrolni prolaz

Sigurnost i performanse

Primjer

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;

Napomene za uporabu

Povezani API-ji