miniol
24.07.2016, 17:58:51
Mam bazę (będzie raczej obsługiwana tylko przez urządzenia mobilne), którą chciałbym zabezpieczyć przed nieautoryzowanymi użytkownikami.
Zależy mi na tym, żeby po wykupieniu dostępu, wgląd był tylko dla jednej osoby (albo najlepiej tylko dla jednego smartfona). Sam login i hasło nie jest wystarczającym zabezpieczeniem, ponieważ w jednej firmie jedno hasło, może być udostępnione wszystkim pracownikom, a tego chcę uniknąć.
Pytanie, w jaki sposób przygotować taki system autoryzacji, który ograniczy przekazywanie danych do logowania osobą postronnym.
mlawnik
24.07.2016, 23:13:41
Całkowicie nigdy nie zabezpieczysz.
-> Ograniczenie do 1 urządzenia (sprawdzanie cookies) (poszukaj Evercookie)
-> Sprawdzanie po IP
-> Sprawdzanie po useragencie (Czy się za często nie zmienia)
Jest jeszcze parę sposobów.
No i oczywiście banujesz konta na których wykryjesz taki proceder.
abel1
27.07.2016, 07:30:47
A nie da sie czasem jakoś (ja nie mam pojęcia jak ) zabezpieczyć tylko na wybrany MAC karty ?
To by rozwiązało problem całkowicie
Każde urządzenie ma swój indywidualny i nie powtarzalny MAC Adres
kapslokk
27.07.2016, 07:53:54
Z poziomu PHP nie jestes w stanie odczytać adresu MAC, no chyba, że serwer jest w tej samej sieci co klient.
szczemp
27.07.2016, 08:43:14
A może przy zalogowaniu ustawiać gdzieś w bazie flagę, że ktoś jest zalogowany i kolejnego logowania nie puszczać?
Problem. Użytkownik się nie wyloguje, a zamknie przeglądarkę, flaga nie zmieni się na 'wylogowany' i nikt się nie będzie mógł zalogować.
mlawnik
27.07.2016, 18:57:06
@szczemp
Problemu nie ma - przy braku akcji przez ~10min wylogowujesz (jak w banku, np BZWBK24).
abel1
27.07.2016, 19:55:59
W PHP musi być możliwość autoryzacji po MAC
Robia tak stronki nadajace TV
Podajesz MAC swojego telewizora a oni udostepniają ci liste kanałów
Lista ta działa tylko i wyłacznie na twoim urządzeniu
miniol
27.07.2016, 20:14:30
Idealnie byłoby z tym MAC adresem, ale właśnie z tego co wiem nie da się tego odczytać.
Evercooki..., niby coś, ale to też mnie nie przekonuje.
Zastanawiam się, czy nie lepiej po prostu zrobić apki na androida płatnej, która wyświetli właśnie tą stronkę z moją bazą. Bo nie widzę zbytnio tego w formie www.
mlawnik
27.07.2016, 20:34:14
Jeszcze parę pomysłów:
geolokalizacja (nie jest dokładna, ale pokazuje czy użytkownik "skacze" pomiędzy miejscami)
Tylko jedna sesja na konto - po wykryciu drugiej lub kolejnej sesji wylogowujesz wszystkie.
Weryfikacja konta przez SMS/tokeny GoogleAuthenicator. (Jedno fizyczne urządzenie, którym da się dzielić, ale jest trudniej)
Fizyczne tokeny a'la yubikey albo takie jak w bankach mają z kodami.
Co to za baza że wymaga takiego super zabezpieczenia?
miniol
30.07.2016, 20:27:46
Cytat(mlawnik @ 27.07.2016, 20:34:14 )

Co to za baza że wymaga takiego super zabezpieczenia?
Generalnie nic szczególnego, ale chciałbym żeby nie było przekazywania loginów i haseł. Baza pomaga w pracy w terenie w branży telekomunikacyjnej (informacje o dojeździe, link do nawigacji i kilka innych przydatnych informacji). Nawet jeśli dane będą przekazywane dalej to świat się nie zawali, ale temat mnie zaintrygował na tyle, że postanowiłem podpytać innych, bo ja nie znalazłem sensownego rozwiązania.
Tokeny, czy SMSy to już zdecydowany przerost formy nad treścią. Bardziej chciałem to weryfikować z poziomu przeglądarki/serwera.
A w związku z tym, że baza jest przeznaczona raczej dla urządzeń mobilnych to myślę, że najłatwiej będzie zrobić prostą apkę na androida i tam już są zdecydowanie większe możliwości jeśli chodzi o identyfikację użytkownika.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.