Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ustawienia php.ini
Forum PHP.pl > Forum > Przedszkole
Misiur66
Witam wszystkich. Mam problem. Moja rejestracja opiera się na "etapach". Pomiędzy nimi dane przekazywane są przez cookies. Na localhoscie wszystko idzie świetnie, ale na cal.pl już nie... czy istnieje coś takiego jak nadpisywanie cookiesów? U mnie wygląda to tak (w uproszczeniu):

Kod
$dane = array();
$dane['nick'] = mysql_escape_query($_POST['nick']);
setcookie('dane', serialize($dane));
(... Gdzieś dalej w kodzie)
unserialize($_COOKIES['dane']);
$dane['gg'] = $_POST['gg'];
setcookie('dane', serialize($dane));
(... Gdzieś dalej w kodzie)
unserialize($_COOKES['dane']);
$wsadz = mysql_query(INSERT INTO users(nick, gg) VALUES "'.$dane['nick'].'","'.$dane['gg'].'");
if($wsadz)
{
unset($dane);
setcookie('dane', 'null', time() - 3600);
}


Oczywiście każde pole przechodzi szczegółowe badania. Na localhoscie ładnie dane się dodają, ale te na serwerze usuwają stare i dodają nowe...

Czyli czy istnieje coś takiego jak ustawienie sposbu zapisu ciasteczek?

I pewnie jest to niebezpieczne, bo można np. podmienić w ciasteczku wartość 'nick', na 'admin'... Tak?

Niech mi ktoś pomoże!
peter13135
ja proponuje zrezygnować z cookies, a zainteesować sie $_SESSION
Misiur66
Sesje używam tylko w logowaniu... Ale czy w sesjach można przechowywać tablice?
peter13135
można ;]
Misiur66
Mimo wszystko chciałbym się dowiedzieć czy jednak da się to zrobić za pomoc ciasteczek (chodzi mi o samo ustawienie nadpisywania)
pyro
Ja sie zastanawiam jak Ci to może wogóle działać skoro piszesz $_COOKIES, zamiast $_COOKIE, może jest w php jakaś konfiguracja o ktorej nie wiem ktora rejestruje $_COOKIES tongue.gif
Misiur66
Mówiłem że to tylko przykładowo i na szybko tongue.gif Mam na pewno dobrze "gramatycnzie"...
pyro
no... jak spojrzałem jeszcze raz to widać... "mysql_escape_query" powinno być mysql_escape_string, brak cudzyslowow w niektorych miejscach itp... może zamiast pisać na szybko daj kod bezpośrednio ze skryptu smile.gif?
erix
  1. <?php
  2. setcookie('dane', 'null', time() - 3600);
  3. ?>

:
Cytat
Cookies must be deleted with the same parameters as they were set with. If the value argument is an empty string, or FALSE, and all other arguments match a previous call to setcookie, then the cookie with the specified name will be deleted from the remote client.


Ale szczegół, nie? Po co w ogóle czytać manuala...

Cytat
"mysql_escape_query" powinno być mysql_escape_string, brak cudzyslowow w niektorych miejscach itp...

Następny, co czytał. tongue.gif

Cytat
Czyli czy istnieje coś takiego jak ustawienie sposbu zapisu ciasteczek?

Czyli jak?

Cytat
I pewnie jest to niebezpieczne, bo można np. podmienić w ciasteczku wartość 'nick', na 'admin'... Tak?

No pewnie, że nie jest. A im więcej ciasteczek/w nich informacji, tym więcej danych trzeba przesłać za każdym żądaniem (czytaj: user otwiera dowolną podstronę i ciacho jest wysyłane zawsze nawet, jeśli wczytuje jednobajtowego GIF-a). Szkoda transferu, nerwów, do tego duże ryzyko.

A sesje powstały nie tylko do logowania. tongue.gif
Misiur66
No tak, czyli nie mogę zmieniać wartości żeby usnąć tongue.gif A co do manuala, rzeczywiście czytam wybiórczo... No to mi nie pozostaje nic innego jak przerzucenie się na sesje tongue.gif
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.