Re: DIF2: Trusted Parameters

3 views
Skip to first unread message

Luis Pinto

unread,
Sep 26, 2022, 7:56:46 AM9/26/22
to dif2, dif2-devel...@googlegroups.com
Bom dia

Para complementar o descrito no email anterior e com a necessidade de declarar TrustedParameters fora do contexto de uma stage, foi criado o IDIFTrustedParameters que através de IoC irá contribuir com a lista de parâmetros "trusted".

O translateRequest do Chal passa a ter em conta estas contribuições e adiciona estes parâmetros ao request como trusted. 
Desta forma os parâmetros entra no fluxo já existente.

Com os melhores cumprimentos,

Luis Pinto
Team Leader Web




On Wed, Mar 15, 2017 at 5:53 PM Pedro Viegas <pvi...@digitalis.pt> wrote:
Boa tarde,

Á algum tempo que temos convivido com um problema sem o resolver. A necessidade de enviar código HTML/FreeMarker num pedido HTTP e esse conteúdo ser interpretado pelo Sanatizer como código malicioso.
A nossa solução para isso tem diso desligar a Sanatization nos parâmetros da DIF, só que dessa forma expomos toda a aplicação a ataques desse tipo em qualquer parâmetro.

Criei hoje uma solução para este problema. A possibilidade de declarar parâmetros considerados seguros e que mesmo com a configuração de Sanatization ligada não serão processados mantendo o seu conteúdo inaltarado.

São usados de uma das seguintes formas:

1. A forma desejável para todos os casos
A annotation Parameter passa a receber um novo parâmetro trusted que se a true adiciona o referido parâmetro como de confiança e não é processado.

/**  */
@Parameter(trusted = true)
protected String businessID;

2. A forma alternativa para quando não é possível declarar os parâmetros
Ao nível da stage declarar uma lista de parâmetros a considerar seguros.

@StageDefinition(name = "Data Provider", service = "dataproviderservice")
@Callback(CallbackType.OFF)
@DeclareTrustedParameters("content,sql,json")
public class DataProvider {

 


Está disponível na versão 2.2.9-2-SNAPSHOT no HEAD já comitado.

Deverá ser aplicável à FUC e RUC e outros que tenham a mesma necessidade.


Com os melhores cumprimentos,



Pedro Viegas
Director Departamento de Desenvolvimento
(Development Manager)
Digitalis Informática Lda
R&D: http://development.digitalis.pt


Reply all
Reply to author
Forward
0 new messages