Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Identyfikator!
Forum PHP.pl > Forum > PHP
Mac
Jak można "nadać" "identyfikator", który byłby na stałe przydzielony dla każdej osoby (nie wygasałby) i jakby osoba weszła spowrotem na tą stronę to dalej miałaby "swój" "stary" "identyfikator". Chodzi mi oto, że chcę nadać każdej osobie wchodzącej na stronę identyfikator tzn. "niepowtarzalny" numer. Ale zależy mi na tym żeby było podwójne "zabezpieczenie" winksmiley.jpg (cookies,sesje). smile.gif
Z gróy dzięki smile.gif
Seth
Zajrzyj do url'a od castora z tematu "sesje" rolleyes.gif
Mac
Cytat
Zajrzyj do url'a od castora z tematu "sesje" rolleyes.gif
Ale mi chodzi oto, żeby cookies "współpracowało" (tzn. weryfikowały się nawzajem (np. najpierw cookies byłoby sprawdzane i jakby było ok to sprawdzało by się sesję)).
PS Chodziło mi też oto, żeby każdy dostawał "SWÓJ" identyfikator tzn. przy każdej wizycie miałby ten sam identyfikator (swój) (np. rozpoznając osobe przez ip, hosta lub w sesji albo cookies (albo wsztko naraz)).
Może trochę zamieszałem w tym poście, ale chyb a rozumiecie oco mi chodzi, a jak nie to piszcie. smile.gif
PS2 Chodziło mi też oto, winksmiley.jpg żeby (ponieważ cookies można przerobić, bo jest na dysku osoby odpwiedzającej stronę (można cookies "ręcznie" przerobić)) było coś poza cookies, które ("to coś") weryfikowało by cookies, żeby np. sesje były nadrzędne, a cookies było "tylko" winksmiley.jpg dodatkiem.
Z góry dzięki. smile.gif
em1X
to jest kod od sesji z mojej starej strony:


if (!$mx1_id)
{
srand ((double)microtime()*1000000);
$session_id = md5(uniqid(rand()));
setCookie("mx1_id", "$session_id", time()+3600000);

session_id($session_id);
session_start();

}
else
{
$session_id = $mx1_id;
session_id($mx1_id);
session_start();
}


dodatkowo w kazdym hiperlaczu nalezy dopisywac do adresu pliku ?session_id=$session_id
Mac
Cytat
to jest kod od sesji z mojej starej strony:


if (!$mx1_id)
   {
   srand ((double)microtime()*1000000);
   $session_id = md5(uniqid(rand()));
   setCookie("mx1_id", "$session_id", time()+3600000);
   
   session_id($session_id);
   session_start();
     
   }
   else
       {
    $session_id = $mx1_id;
    session_id($mx1_id);
    session_start();
    }


dodatkowo w kazdym hiperlaczu nalezy dopisywac do adresu pliku ?session_id=$session_id

Wielkie dzięki sprawdze smile.gif
msulik
Nie będę tworzył nowego tematu, bo moje pytanie wiąże się z poniższym fragmentem kodu:
Kod
md5(uniqid(rand()));
Jaką mam pewność, że utworzony w ten sposób identyfikator będzie unikalny?

Np.:
Mam tabelę, w której bardzo często są usuwane elementy i wstawiane nowe. Lepiej, jeśli podstawowy klucz tej tabeli będzie typu UNSIGNED BIGINT, czy lepiej stosować klucz char tworzony przez powyższą funkcję.

Nie wiem, czy jasno to opisałem, ale chodzi mi o to, jakie jest prawdopodobieństwo wygenerowania ponownie ciągu już istniejącego (nieunikalnego) przez powyższy zapis?
em1X
Cytat
Nie będę tworzył nowego tematu, bo moje pytanie wiąże się z poniższym fragmentem kodu:
Kod
md5(uniqid(rand()));
Jaką mam pewność, że utworzony w ten sposób identyfikator będzie unikalny?

Np.:
Mam tabelę, w której bardzo często są usuwane elementy i wstawiane nowe. Lepiej, jeśli podstawowy klucz tej tabeli będzie typu UNSIGNED BIGINT, czy lepiej stosować klucz char tworzony przez powyższą funkcję.

Nie wiem, czy jasno to opisałem, ale chodzi mi o to, jakie jest prawdopodobieństwo wygenerowania ponownie ciągu już istniejącego (nieunikalnego) przez powyższy zapis?


"Kazdy kto chcialby przejac tak powstaly ID, musialby przypuscic frontalny atak na system i probowac odnalezc poprawny identyfikator posrod 340 282 366 920 938 463 463 374 607 431 768 211 456 mozliwych wartosci. Kryptolodzy Van Oorshot i Wiener zaprojektowali teoretyczna maszyne przeszukujaca dla algorytmu MD5 i obliczyli w roku 1994, ze takie urzadzenie (o szacowanej wartosci 10mln USD) musialoby pracowac nieprzerwanie przez 24 dni nad rozszyfrowaniem komunikatu zakodowanego ta metoda. Komu to nie wystarcza powinien odlaczyc swoj serwer od Internetu."
msulik
I rest my case.


(skąd to jest cytat?)
em1X
"PHP4 Aplikacje" - Wydawnictwo ROBOMATIC, autorzy: Tobias Ratschiller, Till Gerken
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.