Lo scopo delle interfacce dei verbi http


9

In Magento 2.3 ci sono alcune interfacce per tutti i verbi http

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

Sono tutti vuoti e implementati Magento\Framework\App\ActionInterface.
Ho anche scoperto che tutti sono associati app/etc/di.xmla un parametro di Magento\Framework\App\Request\HttpMethodMape molti controller implementano queste interfacce.
Ma non tutti i controller.
Questo è tutto ciò che ho potuto trovare su di loro.
Qual è il loro scopo?

Risposte:


6

Credo sia per migliorare il modo in cui i controller gestiscono la loro validazione. Abbiamo avuto alcune patch SUPEE che risolvono cose come la convalida della chiave del modulo che viene bypassata dal fatto che si tratta di una richiesta GET o simile. Questo metodo dovrebbe aiutare a prevenirli apertamente.

Per migliorare la sicurezza e la logistica, dobbiamo consentire alle Azioni limitanti di elaborare solo le richieste con determinati metodi HTTP e aggiungere tali limitazioni al maggior numero possibile di Azioni esistenti. Esistono molte vulnerabilità causate da azioni che elaborano richieste GET e POST e che consentono quindi di ignorare le convalide di sicurezza come la convalida della chiave del modulo. Limitare anche le azioni all'elaborazione solo delle richieste con determinati metodi servirebbe da autocompensazione per le classi di azioni e migliorerebbe la coerenza del lato server per il codice client e i test funzionali.

https://github.com/magento/architecture/blob/514952e8883234140071ec70f3b696d8267d52d0/design-documents/allowed-http-methods-for-actions.md

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.