nie potrzebuję noża, nie mam żadnych celów zbrojnych, nie mam bejzbola ani wideł gnojnych
2 lis 2005
Niestety, przez parę najbliższych dni nie będzie notek
Bardzo mocno pracuje nad nowymi serwisami, właściwie siedzę przy PHP 10-12h dziennie i nic tylko stukam i stukam. A najwięcej to czasu człowiek traci na szukanie banalnych błędów. Dzisiaj jedną rzecz napisałem w godzinę, w tym 10 minut trwało napisanie samej funkcji, a 50 minut zastanawianie się dlaczego nie działa
W tej chwili kończe pisanie własnego session-handlera opartego na bazie danych (obecnie MySQL, ale wszystko obsługuje Creole). Muszę jeszcze tylko dopisać rozpoznawanie botów ( w tej chwili działa już _read,_write, _gc oraz obsługa guesta i zarejestrowanego usera) i będzie chyba koniec. Wzorowałem się na sesjach z k4bb bo tam to wszystko jest ładnie napisane
Zastanawiam się tylko na cholere mi pole user_agent i czy na pewno uzależniać sesje od jednoczesnego sprawdzenia session_id i user_ip. User_agent może by miał jakiś sens jakbym chciał kombinować uwierzytelnianiem z cookies, ale skoro wszystkim zajmie się samo PHP to chyba to pole będzie zbędne. Nie zauważyłem do czego używa go autor k4bb.
7 Responses for "Nie będzie notek :) session-handler"
02-11-2005 @ 22:52 1
pisz pisz
potem mnie nauczysz 
03-11-2005 @ 23:23 2
Normanos też bym tak chciał, ale pisząc 2 godziny wychodze z siebie i ide jeść, a potem gdzieś znikam
user_agent jest nie potrzebny, nawet do rozpoznawania botów. Bedzie Ci tylko zajmował miejsce w tak przeciążonej tabeli jakie są sesje.
user_ip w warunku where też jest nie potrzebne. Jak zrobiłbyś małego buga przez przpadek prawdopodobnie umożliwiło by to na bez problemowe zalogowanie sie na konto innej osoby z sieci zew.
Pochwal sie potem aplikacją
Pozdrawiam
04-11-2005 @ 18:09 3
Po co IP i UserAgent? To główne czynniki dla których pisze się własny SessionHandler. Sam zauważyłeś, że PHP rozpoznaje sesje tylko po SessID. Często zdaża się, że nieświadomy użytkownik podając komuś link pozostawia także ów ID. “Czyste” PHP tego nie zauważy i dojdzie do przejęcia sesji.
Napisanie własnego SessionHandlera wykorzystującego IP i UserAgent pozwala jeszcze bardziej zwiększyć bezpieczeństwo, poprzez dopuszczenie do danej sesji użytkownika mającego to samo IP i przeglądarkę. Można jeszcze z językami pokombinować etc.
Ktoś wyżej napisał
“user_ip w warunku where też jest nie potrzebne. Jak zrobiłbyś małego buga przez przpadek prawdopodobnie umożliwiło by to na bez problemowe zalogowanie sie na konto innej osoby z sieci zew.”
100% bezpieczeństwa nigdy nie ma, ale uważam, że IP i UserAgent nie są zbędne jak twierdzisz, lecz są bardzo dobrym sposobem na zwiększenie bezpieczeństwa danych
04-11-2005 @ 18:45 4
dzięki za porady. podoba mi się to blogowanie
zasadności user_IP nie kwestionowałem. to własnie zrobiłem. user_agenta też mam aczkolwiek tego w pytaniach jeszcze nie używałem. po prostu spraqwdzam session_id i user_ip. wzorowałem sie na forach a tam tez nie widziałem co robia z tym user_agentem. może w innej częsci go wykorzystuja, w każdym razie sam handler w tych forach nie robił nic z user_agentem.
04-11-2005 @ 19:11 5
| ?Czyste? PHP tego nie zauważy i dojdzie do przejęcia sesji.
W moim session handlerze nie wystarczy przekazać sesji w adresie potrzebne są też cookie(jeżeli ktoś ma wyłączone to przykro mi ale nie będzie mógł korzystać z systemu. Nie będe narażać na dziury w systemie przez pare procent ludzi)
| lecz są bardzo dobrym sposobem na zwiększenie bezpieczeństwa danych
Kiedyś w starych wersjach mozilli z tego co wiem była opcje dzięki której można było podszyć się pod dany numer IP.
04-11-2005 @ 21:57 6
| Kiedyś w starych wersjach mozilli z tego co wiem była opcje dzięki której można było podszyć się pod dany numer IP.
Cuda jakieś wygadujesz :]
| jeżeli ktoś ma wyłączone to przykro mi
Tobie może tak… ja jednak dbam o te kilka procent, tak samo jak o tych z rozdzielczością 640×480 czy ludzi z przeglądarkami tekstowymi itd. itd.
Tak jak powiedziałem, 100% bezpieczeństwa się nie osiągnie, więc wymyślanie że coś tam pozwalało na podszycie sie pod IP jest bezsensowne. Tak samo przecież ktoś sobie będzie sieć podsłuchiwał i kupa :] Dlatego ważne jest określenie poziomu bezpieczeństwa jaki jest konieczny dla danego skryptu/portalu bo nie zawsze musi to być coś w rodzaju Strefy 51 w Ameryce ;]
06-11-2005 @ 12:02 7
90% czasu zajmuje 10% kodu
Zostaw komcia ;)