![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Potrzebuje troszke teorie z wiązanych z tytułem tematu, a mianowicie: 1) Którą metodą - $_GET czy $_POST lepiej jest przekazywać zmienne, których użytkownik nie powinien widzieć? 2) Jaka jest różnica między $_GET i $_POST? W jakich przypadkach używać pierwsze a w jakich drugie?? Głównie chodzi mi o te 2 pytania... Z góry THX za odpowiedź! |
|
|
![]()
Post
#2
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
ad 1. Dane z formularzy itp przysyłać należy formą POST
ad 2. zależy co chcesz osiągnąć: a ) jeżeli wywołujesz jakiś dział, np newsy to użyjesz GETa z pasku adresu... b ) ...ale jak chcesz np. aby user komentował jakieś newsy, wówczas użyjesz POSTa. Takie są standardy... poczytaj też o funkcjach htmlspeciachars(), trim(), htmlentiles() - przydadzą się (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdro (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Athlan 25.07.2006, 10:29:16 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Np.:
2a) przesyłanie danych produktu - cena, ilosc, itp. (przy wrzuceniu np. do koszyka) wtedy użyje post? Czyli w głównej mierze chodzi o to, ze metoda GET przesylamy dane, które sa mało istotne dla bezpieczenstwa a metoda POST ktore sa istotne?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat 2a) przesyłanie danych produktu - cena, ilosc, itp. (przy wrzuceniu np. do koszyka) wtedy użyje post? w post przesyłasz tylko ilość i id produktu, cena wybiera się z bazy, bo każdy będzie mógł ją sobie zmienić w źródle strony i wysłać formularz z localhosta (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat Czyli w głównej mierze chodzi o to, ze metoda GET przesylamy dane, które sa mało istotne dla bezpieczenstwa a metoda POST ktore sa istotne?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) nie... chodzi głónie o wygodę... $_GET przesyłasz w linkach a $_POST w formularzach (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Athlan 25.07.2006, 11:00:14 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Nie ma to żadnego związku z bezpieczeństwem... Dane przesyłane GET-em są dodawane do URL żądania, natomiast dane przekazywane POST-em są dostarczane wewnątrz żądania. I jedne i drugie można ukraść.
Pierwszą metodą przekazujesz dane krótkie, ale ważne dla funkcjonalności strony. Potrzebny jest prosty sposób, żeby przesyłać właśnie szczegóły żądania. Z resztą sama nazwa GET mówi, że zmienne te raczej określają żądanie. POST z kolej nadaje się do przesyłania większych danych, takich jak te pochodzące z formularzy. Przesyłanie jest mało wygodne, nie sprawdza się przy konstruowaniu żądania. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 0 Dołączył: 13.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
No dobra, wszystko jasne tylko nie rozumiem po co wyłączane są teraz global_register... Global register czyli zmienne globalne... Przecież w URL zmienie wartosc nacisne ENTER i zmieni mi... Nie da sie tego jakos zabezpieczyc przed takim czyms??
A jeszcze jedno Ludvik - napisałeś, że "Przesyłanie jest mało wygodne, nie sprawdza się przy konstruowaniu żądania." Tutaj chodzi o to, ze getem moge pobrać wartość z np. <A href="plik.php?cos=www"></a> zmiennej cos, a przy pomocy POST'a nie moge? Ten post edytował gladiror 25.07.2006, 11:07:59 |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tutaj chodzi o to, ze getem moge pobrać wartość z np. <A href="plik.php?cos=www"></a> zmiennej cos, a przy pomocy POST'a nie moge? Nie możesz tak jak piszesz. Wszystkie zmienne jakie widzisz w adresie URL i przekazujesz je za pomocą adresu to zawsze tylko i wyłącznie zmienne $_GET.Cytat No dobra, wszystko jasne tylko nie rozumiem po co wyłączane są teraz global_register... Global register czyli zmienne globalne... Przecież w URL zmienie wartosc nacisne ENTER i zmieni mi... Nie da sie tego jakos zabezpieczyc przed takim czyms?? Masz rację - wklepiesz ręcznie inną wartośc zmiennej w $_GET i zostanie ona zastąpiona. Tak samo, możesz spreparować formularz i przesłać jakiekolwiek zmienne za pomocą $_POST. Ale nie o to chodzi z register_globals. O tym powinineś poczytać w manualu i na forum - przewijało się wiele, wiele razy. Generalnie, przy włączonym register_globals możesz za pomocą modyfikacji zmiennych $_GET/$_POST nadpisać dowolną inną zmienną w kodzie. pozdr. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 30.08.2025 - 09:01 |