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

Đặ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