Escapa aos hackers
2022-03-28
Um dos principais pontos fracos de um programa são os dados introduzidos pelos utilizadores.
Nunca deixes estes dados por tratar pois mais cedo ou mais tarde podem virar-se contra ti. Seja sob a forma de injecção de SQL ou de outra forma qualquer.
Há vários módulos de função e classes que ajudam nisto, como a CL_ABAP_DYN_PRG
. Mas provavelmente a forma mais elegante é usar a string function escape
.
Por exemplo, para garantir que um URL é seguro fazes assim:
data(unsafe_url) = 'http://abapinho.com/a b c'.
data(safe_url) = escape( val = unsafe_url format = cl_abap_format=>e_url ).
Vê os programas DEMO_ESCAPE_*
para teres uma ideia das várias possibilidades. E vê a classe CL_ABAP_FORMAT
para conheceres os vários algoritmos de formatação existentes.
Obrigado Marcin Wichary pela foto.
O Abapinho saúda-vos.