• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Link tylko dla właściciela / private url / signed url

Object Storage Arubacloud
0 głosów
113 wizyt
pytanie zadane 18 grudnia 2022 w PHP przez kordix Gaduła (3,910 p.)
Cześć

Chciałbym udostępnić pewne treści użytkownikowi bez logowania, ale tak żeby tylko on miał do tego dostęp.

Myślałem o wysłaniu linka z jakimś tokenem , endpoint wtedy odpala kwerendę select * from tabela where token = 'xxx'.

Można dać jakiś dlugi losowy ciąg znaków, ale zastanawiam się czy to jest do końca bezpieczne.

Zastanawiam się jak to działa na stronach, wszak do jakiegoś artykułu na blogu też dostaniemy się w podobny sposób. Czy jest jakaś dużo różnica pomiędzy www.strona.pl?articleid =1 a www.strona.pl?resourcetoken=xxxxxxxx

Taki token ciężko jest zgadnąć , ale jakoś strony się indeksują pomimo że nie wiadomo jaki get zwróci jakąś treść. Czyli w jakiś sposób po prostu są dostępne.
komentarz 18 grudnia 2022 przez Wiciorny Ekspert (270,170 p.)
Access tokeny spokojnie mogą być przesyłane do użtykownika, ale nie do końca bezpieczne jest korzystanie z nich do odebrania wrażliwych danych choćby i dlatego, że tokeny można wykraść.
komentarz 18 grudnia 2022 przez kordix Gaduła (3,910 p.)
Login i hasło też może można wykraść... Bardziej chodzi o to czy to się nie upubliczni w niekontrolowany sposób

Ale weźmy ot takie popularne paczkomaty - dostaje się linka do podejrzenia statusu paczki. Albo jakieś inne treści które pokazują jakąś treść wygenerowaną przez użytkownika bez logowania
komentarz 18 grudnia 2022 przez Wiciorny Ekspert (270,170 p.)
ale to nie są dane wrażliwe to raz, linka nikt nikomu publicznie nie daje, a jak naturalnie zauważyłeś może on być po prostu wykradziony jak inne rzeczy

Login i hasło można wykraść, ale po to są też mechanizmy autoryzacji użytkownika z urządzeniem kodem  captcha itp.
Idąc tym tokiem myślenia nic nie można robić, bo wszystko można złamac. Ja mówię w przypadku tokenu jest to "naturalne" gdyż token jest wysyłany do klienta stąd potencjalne ryzyko.
komentarz 18 grudnia 2022 przez kordix Gaduła (3,910 p.)
No to wiadomo że taki link by był wysyłany na adres email
komentarz 18 grudnia 2022 przez Wiciorny Ekspert (270,170 p.)
to możesz wygenerować unikalny link który będzie zapisany do bazy tylko na określony czas i jeśli ten link " zostanie wyłapany jako request do aplikacji" wtedy będzie otwierać się zasób który dany użytkownik chce- nie ważne kto użyje linku.

Czyli praktycznie taki schemat i sposób podobnego działania jak ma miejsce w paczkomatach
komentarz 18 grudnia 2022 przez kordix Gaduła (3,910 p.)
Ogólnie to widzę takie rzeczy

1.Do linków lepiej dać atrybut rel=”nofollow” , i wyłączyć indeksowanie stron.

2.Czasowe wygaszanie jak wspominałeś

3.Może być strona pośrednicząca gdzie wartości z geta wchodzą w formularz, a dopiero na post się pokazuje treść.

4.Mozna zwrócić 404 jeśli token nie jest podany

1 odpowiedź

+1 głos
odpowiedź 21 grudnia 2022 przez rafal.budzis Szeryf (85,260 p.)
Nie ma różnicy miedzy www.strona.pl?articleid =1 a www.strona.pl?resourcetoken=xxxxxxxx jedynia trudność to odgadnięcie ale to można rozwiązać za pomocą zmiany articleid na np uuidv4 zamiast zwykłych liczb numerowanych od zera.

Aby treść nie była zindeksowana najłatwiej zwracać kod odpowiedzi 404 zawsze ;) Roboty nie indeksują stron których nie ma.

Co do bezpieczeństwa to możesz tworzyć pliki które są usuwane po jednorazowym odczytaniu. Warto zwrócić uwagę jak to zrobił pastebin ;)

Najbardziej bezpieczne rozwiązanie to potwierdzanie prze osobę która wysłała plik. Np ktoś wrzuca swój plik i kopiuje link. Następnie daje go komuś. Ten ktoś wchodzi na stronę i wysyła swoje informacje o systemie w useragent i widzi komunikat w stylu "proszę czekać na potwierdzenie dostępu". Następnie osoba która wrzucała plik widzi ktoś mający przeglądarkę firefox i korzystając z windows 11 o godzinie 8:57 chce otworzyć plik. Wtedy ten ktoś musi potwierdzić czy chce udostępnić plik dla tej sesji usera. Ale nie wiem czy to spełnia wymagania projektu ale było by najbezpieczniej.

Podobne pytania

0 głosów
2 odpowiedzi 394 wizyt
pytanie zadane 19 stycznia 2018 w Java przez must Bywalec (2,980 p.)
0 głosów
2 odpowiedzi 294 wizyt
pytanie zadane 3 września 2022 w PHP przez Piotrek2713 Mądrala (5,380 p.)
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 22 marca 2022 w PHP przez MKolaj15 Bywalec (2,270 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...