Escapa aos hackers
2022-03-28
![images/thumbnail.jpg - Thumbnail](/2022/03/escape/images/thumbnail_hub3f8d880c5051ef139e4768e510cbdf3_6651_300x0_resize_q75_box.jpg)
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.