Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Adres IP + maski sieciowe
Spirit86
post 8.02.2007, 00:13:59
Post #1





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam, mam problem, mianowicie stworzyłem mechanizm sesji oparty na adresie IP. Wszystko działa pięknie i zgrabnie, dopóki z jednego ip nie pojawia się wielu uzytkowników. Chciałem, żeby z kazdej maszyny(komputera) adres ip był różny (chodzi mi o wewnętrzne przypisanie ip). Sprawa wygląda tak, pobieram ip, które jest takie:
84.27.248.138
i to jest ip routera sieci, a ja chcę wygenerować z tego ip osobne dla każdego z komputerów, jak to zrobić?
Trochę nakręciłem, ale mam nadzieję, że skumacie o co chodzi. A i jeszcze jedno smile.gif:
$_SERVER['HTTP_X_FORWARDED_FOR'] zwraca mi często pusty string.

Nie chcę używać mechanizmu opartego tylko na cookies, bo wiadomo, że nie wszyscy mają je włączone.
Pozdrawiam

Ten post edytował Spirit86 8.02.2007, 00:16:55


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
gladiror
post 8.02.2007, 00:15:13
Post #2





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Chyba tak nie da sie zrobić winksmiley.jpg Bo to wychodzi od routera, a router ma zew. IP...


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
Spirit86
post 8.02.2007, 00:17:57
Post #3





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


hmm, w takim razie jak się tworzy mechanizmy sesji, to o co się je opiera? Przecież niemożliwością jest dołączenie do każdego linku na stronie ID sesji...


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
gladiror
post 8.02.2007, 00:34:18
Post #4





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Sesja polega na tym, że otwierasz przeglądarke i masz unikatową nazwe sesji, zamykasz i otwierasz i masz inną nazwę sesji. Sesje możesz połączyć z ciasteczkami i bazą danych. Możesz np. zapisywać sesje do ciastka i bazy danych, do bazy jeszcze adres publiczny IP i np. przeglądarke (nazwa i jezyk przegladarki). Na tej podstawie możesz sprawdzić czy jest to ta sama osoba... Zależy do czego chcesz to zastosowac...


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
webdice
post 8.02.2007, 02:26:38
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Ja dodam że $_SERVER['HTTP_X_FORWARDED_FOR'] nie jest obowiązkową zmienną którą serwery muszą wysłać, rzadko się spotykam z sytuacją kiedy ta zmienna zawiera wewnętrzny adres IP.

Pozdrawiam.
Go to the top of the page
+Quote Post
Spirit86
post 8.02.2007, 09:58:25
Post #6





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Napisałem już prawie cały CMS, który jest oparty o klasę sesji, którą napisałem dawno, dawno temu, niemniej jednak, klasa przetrzymuje w bazie danych informacje związane z sesją użytkownika, każda sesja ma swoje własne ID, które jest generowane tak:
  1. <? md5($ip); ?>

Sesje są ponadto oparte na ciastkach, gdzie na wszelki wypadek zapisuje jeszcze raz SID. Wszystko działa(ło) bez zarzutów, na localu czy innym serwie, dopóki nie olśniło mnie, że ktoś, kto ma taki sam IP od razu jest zalogowany na moje konto i na odwrót, ja jestem zalogoawny na czyjeś konto. Mogę generować unikatowe ID, ale jeżeli ktoś będzie miał wyłączone cookies, a to ostatnio, nie wiedzieć czemu stało się "trendy", pewnie znów jakiś dziennikarz z czasopisma pokroju fakt napisał, że to jest sposób, aby zabezpieczyć się przed czymśtam... Wracając do tematu, jeżeli ktoś będzie miał wyłączone cookies, a id będzie generowane losowo za pierwszym zainicjowaniem sesji, to po odświeżeniu nie zostanie rozpoznany przez klasę sesji (nie ma cookie, nie identyfikujemy po ip, klasa losuje nowy ID). Pomysł z przeglądarką też mi się nasunął, ale wcale nie jest on a ) bezpieczny b ) użyteczny - nikt nie mówi, że z jednego ip nie może korzystać wiele osób na takiej samej przeglądarce. Dodawanie SID do każdego linku jest prawie niemożliwe, szczególnie przy danych z bazy danych, wyrażenia regularne dodające do linków ID zaorały by tylko niepotrzebnie stronę. Ma ktoś jakiś pomysł na ten "mat"? Zastanawiam się tu jak zidentyfikować unikatowo użytkownika. Czytałem, że adres MAC też odpada... Zamykanie strony dla osób z wyłączonymi cookies wydaja mi się pomysłem amatorskim...

Pozdrawiam

Ten post edytował Spirit86 8.02.2007, 09:58:59


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
gladiror
post 8.02.2007, 12:03:39
Post #7





Grupa: Zarejestrowani
Postów: 398
Pomógł: 0
Dołączył: 13.07.2005
Skąd: Lublin

Ostrzeżenie: (0%)
-----


webdicepl - lepiej nie zakładaj tak, bo w dalszym ciągu jest dużo ludzi w sieciach osiedlowych...


--------------------
"Państwo to ja" Ludwik XIV
"Wróg zaatakuje to co kochasz" Ojciec Chrzestny
"Wszystko powinno być proste jak to tylko możliwe, ale nie prostsze..." A. Einstein
"Wyobraźnia jest ważniejsza niż wiedza" Albert Einstein
"Nieprawda powtarzana wielokrotnie staje się prawdą"
Go to the top of the page
+Quote Post
marcini82
post 8.02.2007, 18:11:49
Post #8





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Te kombinacje z adresem IP i ew. innymi parametrami sa do kitu. Zawsze moze sie zdarzyc dwoch uzytkownikow, ktorych zidentyfikjesz jako jednego.
A co do tego:
Cytat
Zamykanie strony dla osób z wyłączonymi cookies wydaja mi się pomysłem amatorskim...

Osoba, ktora jest tak nawiedzona ze wylacza cookies, musi sie liczyc z tym, ze nie bedzie sie w stanie zalogowac na prawie zadna strone. A jesli chce sie gdzies zalogowac, to musi ustawic wyjatek dla danej domeny i juz moze korzystac do woli. Ciasteczka sa wymagane do normalnego funkcjonowania wielu szeroko stosowanych mechanizmow, a jesli ktos swiadomie ogranicza funkcjonalnosc swojej przegladarki, to ja bym sie tym nie przejmowal...
Go to the top of the page
+Quote Post
1010
post 8.02.2007, 19:18:10
Post #9





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


Dziś większość logowań działa na sesji...


--------------------
Go to the top of the page
+Quote Post
Secator
post 8.02.2007, 23:13:10
Post #10





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.01.2007
Skąd: AGH

Ostrzeżenie: (0%)
-----


Cytat(marcini82)
Osoba, ktora jest tak nawiedzona ze wylacza cookies, musi sie liczyc z tym, ze nie bedzie sie w stanie zalogowac na prawie zadna strone. A jesli chce sie gdzies zalogowac, to musi ustawic wyjatek dla danej domeny i juz moze korzystac do woli. Ciasteczka sa wymagane do normalnego funkcjonowania wielu szeroko stosowanych mechanizmow, a jesli ktos swiadomie ogranicza funkcjonalnosc swojej przegladarki, to ja bym sie tym nie przejmowal...
Swoja drogą też tego nie rozumie. Skoro są ciastka to czemu z nich nie korzystać albo traktować je jako samo zło. Pozatym w przegladarce można ustawić np. żeby wszystkie sie kasowały po wyłączeniu przeglądarki.. albo przed dodaniem ciastka żeby wyświetlał sie monit (dodajesz tylko te które chcesz..)... sa imho lepsze metody zabezpieczenia sie niż blokada ciastek.


Cytat(1010)
Dziś większość logowań działa na sesji...
Które de facto również korzystają z ciastek tongue.gif (no dobra, chyba ze w adresie przekazujesz SID ;P)

Ten post edytował Secator 8.02.2007, 23:14:12
Go to the top of the page
+Quote Post
1010
post 9.02.2007, 00:02:05
Post #11





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

Ostrzeżenie: (0%)
-----


Cytat
CYTAT(1010)
Dziś większość logowań działa na sesji...
Które de facto również korzystają z ciastek tongue.gif (no dobra, chyba ze w adresie przekazujesz SID ;P)

wlasnie dlatego uważam iż blokowanie ciastek to głupota


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 23:14