Witam, tak jak w temacie
Witam, tak jak w temacie
Stworzyłeś grę ?
Zareklamuj ją za darmo i otrzymaj darmowy mailing do kilkudziesięciu osób zainteresowanych grami za darmo!
Wejdź: http://graczeonline.pl
Masz na mysli cos takiego, ze masz sobie cos w zmiennej $_SESSION['zmienna'] i pytasz, czy gracz moze to zmienic? Jesli tak to odpowiadam - nie moze. W kazdym razie nie bezposrednio, bo co innego jak zrobisz formularz i przypiszesz pola do zmiennej, ale to inna sprawa.
Zamieszczone przez WAN
No dobra, a powiedzmy, że jest coż takiego: mam sobie wartożć w sesji okreżlająca id użytkownika, powiedzmy taką:
$_SESSION['id']="3";
wartożci sesji są dostępne w całej przeglądarce (czyli na wszystkich zakładkach tak jak to jest np. w FireFoxie), no i wchodzę w na jakąż inną stronę, gdzie przypadkiem też jest używana zmienna w sesji o takiej samej nazwie (czyli "id"), ale już wiadomo o innej wartożci, powiedzmy o wartożci "5", czyli jest coż takiego:
$_SESSION['id']="5";
No i wtedy wracam do tej poprzedniej strony, to pod zmienną "id" w sesji będzie 3, czy 5 ?
Stworzyłeś grę ?
Zareklamuj ją za darmo i otrzymaj darmowy mailing do kilkudziesięciu osób zainteresowanych grami za darmo!
Wejdź: http://graczeonline.pl
Na jednej stronie będzie id=5, a na drugiej id=3 - tak jak zostały przydzielone.
A i intów nie zapisuj w " ".
$_SESSION['id']=3; działać będzie szybciej od Twojego ;]
Eeeee... Masz na myżli PASEK ADRESU?
Sio, nie pomagam via PM !
$_SESSION['id']="3"; jest zle, powinno byc $_SESSION['id']=3;
Z tej prostej przyczyny, ze ta trojka nie jest tutaj intem, czyli liczba, a stringiem. A i stringi nie zapisuj w "cudzyslowach", ale w 'apostrofach'. Sa optymalniejsze. Ale tu nie o tym, jak chcesz wiecej o optymalizacji to zapraszam do tematow podczepionych tamz najdziesz wiecej info...
Co do twojej zmiennej sesyjnej. Jesli na jednej stronie ustawisz ja na 3, a na drugiej zmienisz na 5, to jej wartosc sie zmieni. $_SESSION jest tablica superglobalna dostepna na wszystkich stronach i na wszystkich stronach jest to ta sama zmienna. Jesli ja zmienisz, to bedzie zmieniona. Jesli powrocisz do pierwszej strony - to bedzie juz zmianiona, chyba, ze na poczatku ja zmienisz z powrotem na to przykladowe 3.
Jesli nie chcesz aby tak bylo, to zrob sobie np. $_SESSION['id2'].
Dzięki za radęZamieszczone przez Vill
Sprawdziłem na localhożcie i nie jest tak jak piszesz :P ale zakładam, że w necie na serwerach to jest zabezpieczone profesjonalnie zazwyczaj ;p wiec powinno być OK :P ale też sprawdzę :P bo może być tak, że na tym samym serwerze na którym umieszczone są 2 strony pod różnymi linkami(jedna strona moja, druga czyjaż) sesja z obu stron może wpływać na siebie tak jak u mnie na kompie :PZamieszczone przez Vill
tu mały edit się należy, bo widzę, że dopisałeż :P włażnie chodziło mi o to, co napisałeż, ale na różnych stronach (czyli powiedzmy , czy to "id" jeżeli przyjmie wartożć 3 na ONET.pl i, gdy przejdę na WP.pl i tam będzie używana ta sama zmienna z inną wartożcią to, czy ona się zmieni ?
W pasku adresu mam tylko nazwę strony.Zamieszczone przez Kiri
Włażciwie dużo ostatnio w necie się naczytałem o bezpieczeństwie no i widzę w takiej przykładowej stronie mnóstwo luk ;p albo to moja wyobraźnia :P
Chodzi mi głównie o możliwożć zmiany jakiejż wartożci w sesji przez kogoż kto chce zrobić coż nieodpowiedniego (ludzie Ci nazywają się chyba cracerami :P). Wiem, że sesja nie jest bezpieczna np. z stąd:
http://www.beldzio.com/bezpieczenstw...mu-sesji.freez
i ma wiele niebezpieczeństw, wiem od WANa i Kiri, że sesja trzymana jest w obrębie swoich zakładek (nie licząc localhosta ;p) i nie można zmienić zmiennych w niej trzymanych, z netu wiem, że można ją wykrażć.
No i tutaj mam jeszcze kilka pytań:
* czy cała ta sesja to jest jakiż plik trzymany na serwerze, czy po prostu zmienna umieszczone w pamięci serwera?
* czy opłaca się robić na stronie każdorazowe sprawdzenie przy wykonaniu ważnej czynnożci , czy aktualnie wykonywaną czynnożć robi ta osoba, co trzeba (chodzi mi o to gdyby ktoż np. wykradł nam sesje), a to sprawdzenie wyglądało by tak:
1. logując się na stronę tworzone jest ciasteczko z wylosowanym unikatowym numerem, numer ten jest również zapisywany do specjalnej tabeli w bazie danych wraz z id użytkownika(w końcu mimo iż plik z ciasteczkiem też można wykrażć to już jest jakby inne źródło z przechowywanymi wartożciami :P), oprócz tego zapisuje ten numer do sesji
2. no i jak chce coż zrobić to sprawdzam ten numer w ciasteczku, bazie i sesji, czy wszystko się zgadza
* nie jestem pewien, czy akurat ten tekst dalej nie sprowadza się do odpowiedzi Villa i WANa, ale zapytam :P powiedzmy mam grę i jakież miasto oznaczone współrzędnymi X1 i Y1 (te współrzędne są przechowywane w sesji)
no i wysyłam powiedzmy jednostki do innego miasta np. X2 i Y2, które wiadomo nie są przechowywane w sesji
czy opłaca się robić sprawdzenie tego, że jednostki faktycznie zostaną wysłane z X1 i Y1 poprzez bazę danych - wiadomo, wystarczy zrobić SELECT z warunkiem, który sprawdza, czy miasto należy do nas, czy jest to zbędne(chodzi mi tu o wzgląd bezpieczeństwa, ale nie nadmiernego :P ) ?
am nadzieje, że pisze zrozumiale, najwyżej spróbuję się poprawić - następnym razem :P
Stworzyłeś grę ?
Zareklamuj ją za darmo i otrzymaj darmowy mailing do kilkudziesięciu osób zainteresowanych grami za darmo!
Wejdź: http://graczeonline.pl
RADA: Użyj ciasteczek. Teraz prawie każdy ma je włączone, a one się nie pomylą ;]Zamieszczone przez JAWS
[size=9px][ Dodano: Sro 07 Maj, 2008 ][/size]
1 - sesja jest przetrzymywana chyba u usera na kompie;Zamieszczone przez JAWS
2 - nie zaszkodzi, co najwyżej troszkę spowolni (1 pliczek includować do każdego innego lub dodać takie sprawdzenie do czegoż w stylu head.php)
3 - patrz pkt 2, bez nawiasu ;]
sesja jest przypisywana do konkretnego konta w serwerze apache. Wiec na 1 serwerze moze byc wiele sesji dla 1 adresu IP. Warunkiem jest to zeby adres IP mial wlaczona sesje na kazdym koncie apache (php). Na kompie uzytkownika przetrzymywany jest tylko numer sesji w ciasteczkach. Po nim mozna wyciagac te dane z serwera z php.
Jednak jedna przeglądarka może przetrzymywać tylko jedno ciastko o tej samej nazwie, więc obsługiwać tylko jedną sesję. Inaczej się ma gdy jest ona przekazywana poprzez URL, ale nie polecam tego rozwiązania. Powiedz lepiej co chcesz osiągnąć, a może jakoż będziemy mogli pomóc w rozwiązaniu tego innym sposobem.
http://orodlin.pl/ - Orodlin.pl Team Member
http://blog.albitos.eu - Albi's Jogger - Z pamiętnika młodego programisty
http://wsosnowski.pl - wizytówka
Mam do wynajęcia miejsce na serwerze dedykowanym. Ktoś zainteresowany?
Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)
Zakładki