![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam następujący problem:
chcę zbudować własny mechanizm sesji. Głównym założeniem jest bezpieczeństwo aplikacji WWW. Zamierzam sprawdzać, czy przypadkiem 2 osoby jednocześnie nie są zalogowane na serwerze . Jednak, to nie jest problem, jak na razie ![]() Na razie jestem bardziej przychylny rozwiązaniu drugiemu, myślę nawet, że w Bazie Danych wystarczyła by tylko jedna kolumna przechowywująca "sprasowane zmienne". Schemat Bazy Danych : Kod id | time | ip | place | vars Zastanawiam się także nad typem danych SQL , jakim będzie vars (sprawsowana tablica) miałem zamiar dać VARCHAR (64), jednakże może być nie wystarczające na większą ilość danych. Może zamiast tablicy przechowywać w SQL zrobić to na cookies? Choć może komuś cookies nie obsługiwać. Zresztą to jest niebezpieczne :\ Ten post edytował Spirit86 8.06.2005, 20:02:54 -------------------- 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Ł. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
2 rozwiazanie lepsze:)
Odnosnie pol to id_sesji, data, czas_wygasniecia, sesje pole sesja oczywiscie jakis ogromny typ bo jesli w sesji bedzie duzo danych to moze sie sypac. Tak na prawde sesja w bazie danych to zserializowana tablica. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli tablica duża to można przepuuścić przez gzcompress()" title="Zobacz w manualu PHP" target="_manual
![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
na zmienne sesyjne radze dac pole TEXT wzglednie VARCHAR(255).
nie dalej jak wczoraj glowilem sie kilka godzin dlaczego mi pada obsluga sesji w aplikacji, po czym odkrylem ze prostu prostu dalem za male pole (VARCHAR 128) na dane sesyjne i byly obcinane w wyniku czego robil sie niezly kogel mogel (wczesniej nie przechowywalem duzo wartosci i nie wystapowal problem) dlatego ostatecznie zdecydowalem sie na TEXT. -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
@sopel: po analizie, spłaszczeniu kilku tblic doszedłem do tego samego wniosku
![]() -------------------- 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Ł. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Rozniez mam text dla sesji i jakos aplikacja juz prawie rok dziala i jeszcze sie nic nie wywalilo.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
moj wlasny przypadek opisany 2 posty powyzej byl typowym przykladem krotkowzrocznosci. gdy jakis czas temu powstawal moj handler obslugi sesji nie przechowywalem duzo danych sesyjnych (i nie przypuszczalem ze kiedys bede - tak to jest z rzeczami ktora maja byc uniwersalne), wiec poskąpiłem na przestrzeni w bazie. byl tez inny powod, jako typu tabeli uzylem HEAP/MEMORY (ktory nie obsluguje TEXT). wszystko dla lepszej wydajnosci, dlatego ciagle zastanawiam sie czy tabela sesyjna z zalozonym indeksem na sessionid wydaje sie byc wystaraczajaco szybka, czy tez MEMORY z VARCHAR(255) bylby znacznie lepszy.
-------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
a moze ktos powiedziec jak mniej wiecej powinien wygladac algorytm dzialania takiego systemu sesji?
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@AxZx masz gotowa funkcje ktora wywoluje Ci wlasne funkcje do zapisu, odczytu, usuwania. Nastepnie umieszczasz zwykle zapytania. Nic w tym skomplikowanego nie ma.
-------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat(AxZx @ 2005-06-09 12:34:47) a moze ktos powiedziec jak mniej wiecej powinien wygladac algorytm dzialania takiego systemu sesji? na wortalu jest artykul jak zrobic wlasny handler sesji na bazie -------------------- "If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
stworzyłem już klasę, jednak wydaje mi się strasznie wolna, czas jaki się generuje to: 0.012-0.015 s. (zaincludowałm tylko sterownik bazy danych no i obsługę autologowania. Czy to nie za długo? :|
-------------------- 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Ł. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Zrob testy z roznymi wielkosciamy sesji i wtedy sprawdz jak sie maja czasy.
-------------------- |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
mówisz o testowaniu tylko i wyłącznie mojej klasy, czy np. porównaniu jej do session_register ?
-------------------- 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Ł. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 21:17 |