Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jawne deklarowanie $_POST Czy to dobry pomysl ?
Forum PHP.pl > Forum > PHP
adamski9000
Witam

Potrzebuję przenieść dane pomiędzy stronami. Jak wiadomo metody $_GET, cookie i sesje mają swoje wady więc zastanawiam się, dlaczego by nie przenosić danych z jednej strony na drugą wykorzystując metodę $_POST. Jest to zmienna globalna więc nie ma technicznie z tym problemu. Wystarczy jawnie zadeklarować np. $_POST['login'] na pierwszej stronie i przejść na drugą, gdzie w ten sam sposób można by ją odczytać. W praktyce działa to wyśmienicie. Testowałem na localhoscie. Jednakże, szukając na googlu info o maskowaniu urla i przesyłaniu danych pomiędzy stronami, nigdzie nie spotkałem się z opisem takiej możliwości. Gdzie jest haczyk w tej metodzie, iż nie stosuję się jej w praktyce ?

pozdr



Po pewnych bardziej rzetelnych testach, wychodzi na to, iż ta metoda jednak nie działa poprawnie ! Hehe to jest chyba ten haczyk wink.gif
cycofiasz
Żeby przenosić dane postem trzeba za każdym razem wysyłać formularz więc to może być uciążliwe. O jakich wadach get / sesji mowa?
markonix
GET ma te same problemy co POST choć dla przeciętnego użytkownika internetu to duża różnica, to dla kogoś chociażby z firebugiem tak łatwo podmienić dane w POST (podmiana danych w formularzu) jak w GET (podmiana danych w URLu). Tylko sesje / własny mechanizm sesji.
toaspzoo
nie mozesz java scriptem ? echo '<script>location.href="'.$_GET['strona'].'";</script>';

itp.
lukaskolista
Szczerze mowiac to Cie nie rozumiem... Caly swiat uzywa GETa i nikt nikomu jakos danych nie podmienia, a moze inaczej: wszyscy a przynajmniej wiekszosc programistow ma na tyle rozumu, aby dane odbierane od klienta filtrowac, oto cala tajemnica sukcesu. Najprostsze rozwiazania sa najlepsze wiec nastepnym razem zanim zaczniesz kombinowac zastanow sie nad tym. Osobiscie uwazam, ze im mniej danych w sesji tym lepiej, dla mnie sesja powinna przechowywac dane niezbedne do identyfikacji uzytkownika i nic wiecej a to z tego powodu, ze sesje po prostu wygasaja. W dodatku sesje nie sluza do przekazywania danych pomiedzy stronami.
Shili
@up

Myślę, że powinieneś doedukować autorów manuala php. Oni dalej myślą, że sesja służy do przenoszenia danych pomiędzy requestami wink.gif
http://php.net/manual/en/features.sessions.php

Moim zdaniem wygląda to następująco:

1) Dane są jawne (w sensie nie dotyczą autoryzacji, przekazywania informacji poufnych itd) - $_GET
2) Dane są wrażliwe - $_SESSION

Handler sesji można napisać samemu, jeśli nie wystarczają domyślne w razie czego.
Sephirus
Zgadzam się zdecydowanie z @up i z resztą co do sesji i getów - wydaje mi się że Autor chce wykombinować nowy sposób na komunikowanie się miedzy stronami podczas gdy te, które są dostępne - w pełni pozwalają je wykorzystywać zarówno bezpiecznie jak i efektywnie - trzeba tylko umieć to wykorzystać. Wysyłanie danych $_POST i $_GET jak wyżej wspomniał kolega nie różni się niczym z punktu widzenia bezpieczeństwa smile.gif Jedne są "w adresie" inne w "nagłówkach" itd - ale to się wszystko sprowadza do tego samego.

Jeżeli zależy Ci na ukryciem tych różnych zmiennych przesyłanych to najlepsza jednak będzie sesja - ale nie do wszystkiego się to nadaje wink.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.