Afgrænsede budgetter for PDF-parseren

Parserbudgetter med dokumentomfang stopper fjendtligt eller beskadiget input, før opbygning af tokens, samlet tokenarbejde, vækst i arrays eller ordbøger eller gentagne misdannede tokens bruger for mange ressourcer

Standardværdier for kompatibilitet

Sæt en vilkårlig grænse til nul for at deaktivere den enkelte grænse

Negative værdier udløser ERangeError

Streng politik

ApplyStrictParserBudgetPolicy vælger en tokengrænse på 1 MiB, 100.000 tokens i alt, 10.000 containerposter og 8 misdannede tokens

PDF.ApplyStrictParserBudgetPolicy;
try
  PDF.LoadFromFile(UntrustedFileName);
except
  on E: EHPDFParserBudgetExceeded do
    LogParserRejection(E.Limit, E.Observed, E.Maximum);
end;

ResetParserBudgetPolicy gendanner standardværdierne for kompatibilitet

Fejl og telemetri

En overskredet grænse udløser EHPDFParserBudgetExceeded med værdierne Limit, Observed og Maximum

THPDFParserBudgetLimit identificerer pblTokenBytes, pblTotalTokens, pblContainerItems eller pblBadTokens

GetLastParserBudgetStatistics returnerer et snapshot af THPDFParserBudgetStatistics med konfigurerede grænser, antal tokens og misdannede tokens, maksimale token- og containerstørrelser, oplysninger om overskridelse og sessionsgyldighed

Budgetundtagelser forbliver afsluttende på tværs af moderne parsing, traditionel parsing, krydsreferencegendannelse og isolering af fejl pr. objekt

Ydelsesport

Win32-regressionsporten afviser et token på 2 MiB på 215 ms ved et procesmaksimum på 34.476.032 bytes og afviser en container med én million tokens på 199 ms ved et procesmaksimum på 36.839.424 bytes

Se også: ApplyStrictParserBudgetPolicy, ResetParserBudgetPolicy, GetLastParserBudgetStatistics, Skalerbar indlæsning