Bounded PDF Parser Budgets
Ngân sách parser theo tài liệu chặn đầu vào thù địch hoặc bị hỏng trước khi việc xây dựng token, công việc token gộp, tăng trưởng mảng hoặc từ điển, hoặc các token sai định dạng lặp lại tiêu thụ tài nguyên quá mức
Compatibility defaults
ParserMaxTokenBytesmặc định là 67.108.864 byteParserMaxTotalTokensmặc định là 10.000.000 token mỗi lượt nạpParserMaxContainerItemsmặc định là 1.000.000 mục mỗi mảng hoặc từ điểnParserMaxBadTokensmặc định là 64 token sai định dạng mỗi lượt nạp
Đặt bất kỳ giới hạn nào thành zero để vô hiệu hóa giới hạn riêng đó
Giá trị âm ném ERangeError
Strict policy
ApplyStrictParserBudgetPolicy chọn giới hạn token 1 MiB, 100.000 tổng token, 10.000 mục container, và 8 token sai định dạng
PDF.ApplyStrictParserBudgetPolicy;
try
PDF.LoadFromFile(UntrustedFileName);
except
on E: EHPDFParserBudgetExceeded do
LogParserRejection(E.Limit, E.Observed, E.Maximum);
end;
ResetParserBudgetPolicy khôi phục các mặc định tương thích
Failure and telemetry
Một giới hạn bị vi phạm ném EHPDFParserBudgetExceeded với các giá trị Limit, Observed, và Maximum
THPDFParserBudgetLimit nhận diện pblTokenBytes, pblTotalTokens, pblContainerItems, hoặc pblBadTokens
GetLastParserBudgetStatistics trả về một snapshot THPDFParserBudgetStatistics với các giới hạn đã cấu hình, số token và token sai định dạng, kích thước token và container đỉnh, thông tin vi phạm, và tính hợp lệ phiên
Các ngoại lệ ngân sách vẫn là điểm cuối qua phân tích hiện đại, phân tích truyền thống, khôi phục cross-reference, và cô lập lỗi theo đối tượng
Performance gate
Cổng hồi quy Win32 từ chối một token 2 MiB trong 215 ms ở đỉnh tiến trình 34.476.032 byte và từ chối một container một triệu token trong 199 ms ở đỉnh tiến trình 36.839.424 byte
See also: ApplyStrictParserBudgetPolicy, ResetParserBudgetPolicy, GetLastParserBudgetStatistics, Scalable Loading