Begrensde PDF-parserbudgetten
Document-scoped parserbudgetten stoppen vijandige of beschadigde invoer vóór tokenconstructie, geaggregeerd tokenwerk, array- of woordenboekgroei of herhaalde onjuist gevormde tokens overmatige resources verbruiken
Compatibiliteitsstandaarden
ParserMaxTokenBytesis standaard 67.108.864 bytesParserMaxTotalTokensis standaard 10.000.000 tokens per ladingParserMaxContainerItemsis standaard 1.000.000 items per array of woordenboekParserMaxBadTokensis standaard 64 onjuist gevormde tokens per lading
Stel elke limiet in op nul om die individuele limiet uit te schakelen
Negatieve waarden werpen ERangeError
Strikt beleid
ApplyStrictParserBudgetPolicy selecteert een tokenlimiet van 1 MiB, 100.000 totale tokens, 10.000 containeritems en 8 onjuist gevormde tokens
PDF.ApplyStrictParserBudgetPolicy;
try
PDF.LoadFromFile(UntrustedFileName);
except
on E: EHPDFParserBudgetExceeded do
LogParserRejection(E.Limit, E.Observed, E.Maximum);
end;
ResetParserBudgetPolicy herstelt de compatibiliteitsstandaarden
Falen en telemetrie
Een overschreden limiet werpt EHPDFParserBudgetExceeded met de waarden Limit, Observed en Maximum
THPDFParserBudgetLimit identificeert pblTokenBytes, pblTotalTokens, pblContainerItems of pblBadTokens
GetLastParserBudgetStatistics retourneert een THPDFParserBudgetStatistics-snapshot met geconfigureerde limieten, token- en onjuist-gevormd-token-aantallen, piektoken- en containerformaten, overschrijdingsinformatie en sessiegeldigheid
Budgetuitzonderingen blijven terminally over moderne parsing, traditionele parsing, cross-reference-herstel en per-object-faalisolatie
Prestatiepoort
De Win32-regressiepoort verwerpt een token van 2 MiB in 215 ms bij een procespiek van 34.476.032 bytes en verwerpt een container met één miljoen tokens in 199 ms bij een procespiek van 36.839.424 bytes
Zie ook: ApplyStrictParserBudgetPolicy, ResetParserBudgetPolicy, GetLastParserBudgetStatistics, Schaalbare lading