Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt odczytujący ip
Forum PHP.pl > Forum > Przedszkole
cinus_pl
Witam!
Zakładam stronę z płatnym dostępem do części materiału. Chciałbym, by podczas logowania skrypt odczytywał ip użytownika po to, by przy kolejnych logowaniach przepuszczał tylko osobę z tym ip (chcę uniknąć rozdawania kont i haseł). Można w jakiś sposób to zrobić? Problem istnieje z użytkownikami neo, jakiś sposób na nich też jest? Nie wiem czy dobrze kojarzę, ale oprócz ip widniejącego w sieci jest też ip stałe komputera. Da się je w jakiś sposób odczytać? Zawiłe dość, ale mam nadzieję, że ktoś się połapie.
Pozdrawiam
Ulysess
nie dasz rady sprawdzić IP wew.
hmm wydaje mi się że mógłbyś ciasteczka wykorzystać
cinus_pl
a ciasteczka byłyby dobrym zabezpieczeniem? i czy jeśli ciasteczka będą przesłane do kogoś innego, to ta osoba może omiąć zabezpieczenia?
kilab
Nie, ciasteczka nie są dobrym zabezpieczeniem. Każdy może je usunąć i wejść na stronę jako nowa osoba.
cinus_pl
to w takim razie czy istnieje dobre zabezpieczenie, które w 100% zblokuje możliwośc wchodzenia kilku użytkownikom z jednego konta?
uzi123
Sprawdzanie IP opiera się najczęściej na mniej więcej takiej funkcji:
  1. function get_IP(){
  2.  
  3. if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
  4. $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
  5. }
  6. else {
  7. $ip = $_SERVER['REMOTE_ADDR'];
  8. }
  9.  
  10. return $ip;
  11. }


Jak widzisz opiera się to o zmienne SERVER, a więc nie jest to do końca wiarygodne. Jedyne co możesz zrobić (jak nie chcesz haseł i loginów) to spróbować zebrać jak najwięcej informacji o osobie i porównywać to z tym, co zapiszesz sobie w bazie danych. Możesz wykorzystać do tego:
  1. ciasteczka - zarówno te klasyczne jak i te z flash (zwróć uwagę na to, że ciasteczka można próbować przenosić między komputerami, co może nie być dla Ciebie najlepsze)
  2. sprawdzenia IP - osoby łączące się przez proxy, mające zmienne IP mogą mieć problem
  3. sprawdzanie danych przeglądarki, domyślnego języka ($_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTP_ACCEPT_LANGUAGE'], $_SERVER['HTTP_ACCEPT_CHARSET'], $_SERVER['HTTP_ACCEPT'], $_SERVER['HTTP_ACCEPT_ENCODING']) - zwykle dla danej przeglądarki jest stałe, ale nie może do końca jednoznacznie zidentyfikować osoby (według statystyk na mojej stronie najpopularniejszy zestaw ma około 25% czytelników)

według mnie każde z tych rozwiązań przyniesie sporo kłopotów i obciąży aplikacje, a każdego z nich nie stosował bym oddzielnie.

p.s.
Może można skorzystać z kont z jakiegoś serwisu społecznościowego (np Facebook API) do autoryzacji, ale nigdy z czymś takim nie pracowałem więc nie wiem (no i kwestia zasięgu)
cinus_pl
dzięki, będę kombinowaćsmile.gif
erix
Cytat
to w takim razie czy istnieje dobre zabezpieczenie, które w 100% zblokuje możliwośc wchodzenia kilku użytkownikom z jednego konta?

Nie. Wszystko da się obejść...
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.