Ograničeni proračuni PDF parsera

Proračuni parsera s opsegom dokumenta zaustavljaju neprijateljski ili oštećen ulaz prije nego konstrukcija tokena, agregiran rad tokena, rast niza ili rječnika ili ponovljeni neispravni tokeni potroše prekomjerne resurse

Zadane postavke kompatibilnosti

Postavite bilo koju granicu na nulu za onemogućavanje toga pojedinačnog ograničenja

Negativne vrijednosti izazivaju ERangeError

Stroga politika

ApplyStrictParserBudgetPolicy bira ograničenje tokena od 1 MiB, 100 000 ukupnih tokena, 10 000 unosa spremnika i 8 neispravnih tokena

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

ResetParserBudgetPolicy vraća zadane postavke kompatibilnosti

Greška i telemetrija

Prekršena granica izaziva EHPDFParserBudgetExceeded s vrijednostima Limit, Observed i Maximum

THPDFParserBudgetLimit identificira pblTokenBytes, pblTotalTokens, pblContainerItems ili pblBadTokens

GetLastParserBudgetStatistics vraća trenutnu snimku THPDFParserBudgetStatistics s konfiguriranim granicama, brojanjima tokena i neispravnih tokena, vršnim veličinama tokena i spremnika, informacijama o prekršaju i valjanošću sesije

Iznimke proračuna ostaju konačne kroz moderno parsiranje, tradicionalno parsiranje, oporavak unakrsnih referenci i izolaciju grešaka po objektu

Vrata performansi

Win32 regresijska vrata odbacuju token od 2 MiB u 215 ms pri vršnom procesu od 34 476 032 bajta i odbacuju spremnik s milijun tokena u 199 ms pri vršnom procesu od 36 839 424 bajta

Također pogledajte: ApplyStrictParserBudgetPolicy, ResetParserBudgetPolicy, GetLastParserBudgetStatistics, Skalabilno učitavanje