Witam,
W ramach nauki robię serwis na Flask'u i napotkałem taką sytuację. Wypełnienie DataTables realizowane jest w skrócie tak:
$(tableName).DataTable({
"ajax": {
"url": '/api/sensors',
"data": function ( d ) {
d.box_id = 2;
},
},
serverSide: true,
W tym przypadku wyciągam z bazy listę czujników z grupy 2 należącej do bieżącego usera.
Kod skryptu jest widoczny w źródle i ktoś mógłby się pokusić i wyciągnąć dane z grupy czujników o id == 100, która do niego nie należy.
Po stronie backendu sprawdzam czy aktualny użytkownik ma dostęp do tych danych i zwracam 403.
Biblioteka DataTables po otrzymaniu odpowiedzi innej niż 200 wyświetla okienko z błędem i linkiem do opisu błędu.
Wyświetlenie okna nie jest dużym problemem ale nic nie mówi o braku autoryzacji i odsyła do dokumentacji DataTables.
Czy można jakoś obejść wyświetlenie i wyświetlić swoją informację ?
Przy okazji chciałem spytać jak ukrywać takie szczegóły implementacyjne, żeby ktoś przeglądając kod nie widział z jakich zasobów korzysta strona?
Na co dzień piszę w C/C++ więc proszę o wyrozumiałość ;)
Pozdrawiam