Budgets d'analyseur PDF bornés
Les budgets d'analyseur au niveau du document arrêtent une entrée hostile ou endommagée avant que la construction de jetons, le travail de jetons agrégé, la croissance de tableaux ou de dictionnaires ou les jetons malformés répétés ne consomment des ressources excessives
Valeurs par défaut de compatibilité
ParserMaxTokenBytesest par défaut de 67 108 864 octetsParserMaxTotalTokensest par défaut de 10 000 000 jetons par chargementParserMaxContainerItemsest par défaut de 1 000 000 entrées par tableau ou dictionnaireParserMaxBadTokensest par défaut de 64 jetons malformés par chargement
Définissez toute limite à zéro pour désactiver cette limite individuelle
Les valeurs négatives déclenchent ERangeError
Politique stricte
ApplyStrictParserBudgetPolicy sélectionne une limite de jetons de 1 Mio, 100 000 jetons au total, 10 000 entrées de conteneur et 8 jetons malformés
PDF.ApplyStrictParserBudgetPolicy;
try
PDF.LoadFromFile(UntrustedFileName);
except
on E: EHPDFParserBudgetExceeded do
LogParserRejection(E.Limit, E.Observed, E.Maximum);
end;
ResetParserBudgetPolicy restaure les valeurs par défaut de compatibilité
Échec et télémétrie
Une limite dépassée déclenche EHPDFParserBudgetExceeded avec les valeurs Limit, Observed et Maximum
THPDFParserBudgetLimit identifie pblTokenBytes, pblTotalTokens, pblContainerItems ou pblBadTokens
GetLastParserBudgetStatistics retourne un instantané THPDFParserBudgetStatistics avec les limites configurées, les compteurs de jetons et de jetons malformés, les tailles de pointe de jets et de conteneurs, les informations de dépassement et la validité de session
Les exceptions de budget restent terminales sur l'analyse moderne, l'analyse traditionnelle, la récupération des références croisées et l'isolation de défaillance par objet
Portail de performance
Le portail de régression Win32 rejette un jeton de 2 Mio en 215 ms à un pic de processus de 34 476 032 octets et rejette un conteneur d'un million de jetons en 199 ms à un pic de processus de 36 839 424 octets
Voir aussi : ApplyStrictParserBudgetPolicy, ResetParserBudgetPolicy, GetLastParserBudgetStatistics, Chargement extensible