![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 12.02.2004 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Mam pytanie, odnośnie przechowywania i przekazywania zmiennych reprezentujących ID użytkownika, zakładając, że mamy jakiś panel admina i kilku użytkowników. Otóż, na stronie mam kilka skryptów jquery, które potrzebują przekazać ID użytkownika. Ale jeśli to zrobię, to jego ID będzie widoczny dla każdego (np. w podglądzie źródła). Wykombinowałem sobie tak, że każdy user ma swój unikalny TOKEN (jakiś hash), który generuje się za każdym logowaniem nowy. I w javascript przekazuję ten właśnie token, a nie ID użytkownika. Dopiero później, kiedy jquery "realizuje" jakoś inny skrypt php, korzystając z tego TOKENA, pobieram sobie sobie ID użytkownika z bazy danych i działam. Dlaczego takie coś? Ponieważ zmienne SESJI nie działają w plikach php wywołanych przez jQuery i GET. Otóż: Pliki, które sobie może użytkownik wgrać na stronę, mogłyby mieć w nazwie (lub katalogu) numer ID, np. 1_obrazek.jpg (plik obrazek, którego właścicielem jest user ID:1). Jak sobie ktoś skopiuje URL obrazka i zastąpi numerek jakimś innym, to może podglądnąć obrazki inych userów. A niech spróbuje zgadnąć TOKEN! Marna szansa. To się też tyczy wykonywania jakichkolwiek operacji, gdzie ID usera jest jawny w kodzie. Ktoś sobie odpali ten sam formularz, ale w polu (załóżmy) <input name="user_ID"> wpisze sobie inny ID i będzie klęska ![]() I teraz moje pytanko: - czy to co wydumałem z tym tokenem jest bezpieczne? Chodzi mi właśnie o przekazywanie unikalnych zmiennych przez javascript (czyli jawne). Jeśli nie jest, to w jaki sposób - bezpiecznie - przekazać ID użytkownika do jakiegoś skryptu ładowanego przez GET?
A potem:
Ten post edytował hao 27.06.2017, 23:55:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 21:43 |