Mục đích của giao diện động từ http


9

Trong Magento 2.3 có một số giao diện cho tất cả các động từ http

  • Magento\Framework\App\Action\HttpPostActionInterface
  • Magento\Framework\App\Action\HttpGetActionInterface,
  • ...

Tất cả đều trống và thực hiện Magento\Framework\App\ActionInterface.
Tôi cũng thấy rằng tất cả chúng được ánh xạ app/etc/di.xmltới một tham số Magento\Framework\App\Request\HttpMethodMapvà rất nhiều bộ điều khiển thực hiện các giao diện này.
Nhưng không phải tất cả các bộ điều khiển.
Đó là tất cả những gì tôi có thể tìm thấy về họ.
Mục đích của họ là gì?

Câu trả lời:


6

Tôi tin rằng đó là để cải thiện cách các bộ điều khiển xử lý xác nhận của họ. Chúng tôi đã có khá nhiều bản vá SUPEE sửa các thứ như xác thực khóa biểu mẫu bị bỏ qua bởi nó là một yêu cầu GET hoặc tương tự. Phương pháp này sẽ giúp ngăn chặn chúng hoàn toàn.

Để cải thiện bảo mật và hậu cần, chúng tôi cần cho phép giới hạn các Hành động chỉ xử lý các yêu cầu với các phương thức HTTP nhất định và thêm các giới hạn đó vào càng nhiều Hành động hiện có càng tốt. Có nhiều lỗ hổng gây ra bởi các hành động xử lý cả yêu cầu GET và POST và do đó cho phép bỏ qua xác thực bảo mật như xác thực khóa biểu mẫu. Ngoài ra, việc giới hạn các hành động chỉ xử lý các yêu cầu với một số phương thức nhất định sẽ đóng vai trò là tài liệu tự cho các lớp Hành động và cải thiện tính nhất quán của phía máy chủ đối với mã máy khách và các kiểm tra chức năng.

https://github.com/magento/arch architecture / blob / 514952e8883234140071ec70f3b696d8267d52d0/design-document/allowed-http-methods-for-ilities.md

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.