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
ParserMaxTokenByteser som standard 67.108.864 bytesParserMaxTotalTokenser som standard 10.000.000 tokens pr. indlæsningParserMaxContainerItemser som standard 1.000.000 poster pr. array eller ordbogParserMaxBadTokenser som standard 64 misdannede tokens pr. indlæsning
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