ugrás a tartalomhoz

Különbség GET és a POST között

Anonymous · 2006. Jún. 5. (H), 12.05
Sziasztok!

Olyan kérdésem lenne, hogy az űrlap küldésnél mi a különbség a POST és a GET method között?

Köszi
 
1

Többféle

tiny · 2006. Jún. 5. (H), 12.09
A post metódussal nagyobb szövegeket is lehet küldeni, ha jól tudom, plusz biztonságosabb is, mivel a webcímek mögé írt változók (?valtozo=ertek) GET metódussal adódnak át. Mindenképp ajánlott posttal küldeni, a túloldalon pedig globális tömbből előhúzni. Feltéve, hogy php-t használsz, így csináld:

<?php
echo $_POST['változónév'];
?>
4

Ez így, ebben a formában...

Balogh Tibor · 2006. Jún. 5. (H), 16.19
A post ... biztonságosabb. ... Mindenképp ajánlott posttal küldeni

Ez hülyeség!

Attól függ mit akarsz csinálni. Pl. jópár hete írtam egy javaslatot a PolyMeta.hu szerkesztőinek, hogy ajánlatos lenne get metódussal küldeniük, és megjeleníteniük az adatokat, hogy lehessen látni, hogy mire kerestek.

Így egy weblapstatisztikát nézve lehetne csodálkozni, hogy jé, a polymeta így is megtalált minket. - Ha posttal küldik, a statisztikában nem látsz semmit erre vonatkozóan.

De felhasználói adatokat (felhasználói név, jelszó, munkamenet azonosító) nem ajánlatos get-tel küldeni. Nem azért, mert az adatküldés módja kevésbbé biztonságos, hanem mert az okos felhasználó - ahogy már tapaszataltam egy fórumon - fogja, és kimásolja az url-t, és elküldi valakinek, az a valaki meg máris a másik nevében tevékenykedhet a weblapon.

Szóval, akkor most melyik a jobb a post vagy a get?

Megjegyzem: A PolyMeta-nak majdnem egy hónapja írtam, azóta sem változtattak, csak annyit írtak, hogy ez bonyolult dolog, és még gondolkodnak rajta.
5

Jó oké

tiny · 2006. Jún. 5. (H), 16.26
Azért legtöbbször érdemesebb postot használni. De ha belegondolsz, mi baj lehet abból, ha posttal küldesz valamit? Biztonsági dologra gondolok, nempedig használhatóságra.

Megjegyzem a polymeta.hu nem megy js nélkül. Szép js-sel meg minden, de azért annak is örülnénk.
6

biztonság?

Hodicska Gergely · 2006. Jún. 5. (H), 16.36
Biztonsági dologra gondolok, nempedig használhatóságra.

Kíváncsi lennék, hogy milyen biztonsági "dolgot" tudsz felhozni a POST mellett a GET ellenében.


Felhő
7

elvetemült ötlet?

Anonymous · 2006. Jún. 5. (H), 16.53
az "elvetemült ötletedet" azért itt is meg lehetne említeni. persze az egy elég speciális helyzet, mert én sem mondanám a postot általában biztonságosabbnak a getnél, de azért gondolom itt a helye. ;]

gex
10

közhely

Hodicska Gergely · 2006. Jún. 5. (H), 19.32
Tiny véleményére lettem volna kíváncsi, csak mert elég gyakran lehet találkozni azzal, hogy valaki úgy hangoztat "tipikusan elfogadott" dolgokat, hogy nem tudja a pontos hátteret. Ez szerintem némileg veszélyes hozzáállás, mert könnyen visszaüthet.


Felhő
8

Elvetemült :)

tiny · 2006. Jún. 5. (H), 17.02
Ez eléggé elvetemült. Egyébként pont fordított gondolkodás miatt írtam azt, amit írtam. Mivel nem tudtam olyan helyzetet elképzelni, amiben posttal adnak át akármit és baj lenne belőle.
Az elején pedig a "mindenképpen"-t arra értettem, hogy csúnya lesz tőle a cím, itt a keresők nem jutottak eszembe. De azt hiszem normális esetet én sem tudok felhozni. Ember vagyok, tévedhetek :)
szerk.: A példában tudom, hogy a hiba volt a gond nem pedig, hogy aki később odaül a géphez az megtudja a fhnevet.
9

get vs post

Balogh Tibor · 2006. Jún. 5. (H), 18.49
Azért legtöbbször érdemesebb postot használni. De ha belegondolsz, mi baj lehet abból, ha posttal küldesz valamit?

1.) Nem tudom elmenteni a weboldal címét, amit a rengeteg adat közül kibányásztam?
2.) stb. - pl. PolyMeta történet.

Ha lehet valami értelmes dolgot kezdeni a webcímmel, akkor get, egyébként post. Pl. get keresésnél, fórumnál, számolásoknál, stb.; bináris adatoknál, személyhez köthető adatoknál post. De az úgy nem igaz, hogy a post mindenképpen jobb a getnél.

Megjegyzem a polymeta.hu nem megy js nélkül.

Ez miért lenne baj?
Szerintem koncepció, hogy így működik. Egy működő alkalmazás MorphoLogic alapokon. Csak reklám, hogy a többi termékeiket eladhassák. Így aztán tesznek rá, hogy hogyan működik. Írtam nekik, hogy modemen elég zavaró, hogy ha lapozol, akkor letöltésig nem történik semmi. A tapasztalatlan felhasználó elkezdhet vadul klikkelni, hogy mi az, miért nem csinál semmit. Ezzel terhelve a szervert. - Na most megjavították. :) - Klikkelés után teljesen eltűnik a lapozósáv. - Szerintük ez jelezné, hogy a közeli jövőben valami történi fog az oldalon. - Miért nem lehetett már egy gif animációt kirakni, vagy legalább egy "töltés folyamatban..." feliratot?
11

részemről ennyi

tiny · 2006. Jún. 5. (H), 22.00
Így aztán tesznek rá, hogy hogyan működik.

Én is teszek rá, csak megjegyeztem. A felső résznél meg a baj szó a hangsúlyos, de ha előbbre olvasod megérted. De már eltértünk a tárgytól, a PolyMeta lényegtelen.
12

baj?

Balogh Tibor · 2006. Jún. 5. (H), 23.49
A felső résznél meg a baj szó a hangsúlyos

Erre válaszoltam is. Baj, ha get-et kellene használni, és mégis post-ot használsz. Az egyik oldalon sajnálkozol, hogy a PolyMeta javascript nélkül nem megy, a másikon meg szerinted mindig postot kellene használni.

Úgye, hogy mégsem tértünk el annyira a PolyMeta történettel?

de ha előbbre olvasod megérted

Bocs, ha megsértettelek valamivel. Nem akartam semmi hasonlót!
13

..

tiny · 2006. Jún. 6. (K), 20.45
Ember vagyok, tévedhetek :)

Itt elismertem, hogy nem gondoltam át, tévedtem.
Az egyik oldalon sajnálkozol, hogy a PolyMeta javascript nélkül nem megy, a másikon meg szerinted mindig postot kellene használni.

Nem értem az összefüggést a kettő közt, de nem sajnálkoztam, mert én nem fogom használni.
Baj, ha get-et kellene használni, és mégis post-ot használsz.

erre itt a válasz:
Biztonsági dologra gondolok, nempedig használhatóságra.

De ha a másik szálat elolvastad, ott már ezt is megtárgyaltuk.
Nem sértettél meg, csak néha bosszantani tud, ha felhívom a figyelmet valamire és akkor se olvassák el.
14

PolyMeta

Anonymous · 2006. Jún. 9. (P), 14.17
Azóta ezt a problémát már megoldottuk. Próbáljátok ki: http://www.polymeta.hu
2

Micsinál a zűrlap?

attlad · 2006. Jún. 5. (H), 12.38
Az űrlap funkciójától függ, hogy melyiket kéne használnod.
3

w3c.org

Hodicska Gergely · 2006. Jún. 5. (H), 12.43
15

GET

Anonymous · 2006. Szep. 21. (Cs), 16.30
Én azt tudom, hogy a GET sokkal praktikusabb a weblap integrációhoz. (Teszem azt, csinálhatok egy böngészőeszköztárat, amivel az ember be tud lépni az e-mailjeihez (pl.: login.php?usr=FELHASZNÁLÓ&pw=JELSZÓ_HASH), vagy kereshet vele egy adott weblapon (pl.: serch.php?q=KERESETT_SZAVAK). Ami a biztonságot illeti, bejelentkeztethetsz GET-tel is. Csak a jelszó helyett egy hash-et küldj el.
16

Mindegyiket a megfelelő helyen

Rici · 2006. Szep. 21. (Cs), 17.05
Először is, a biztonságról: igazából mindegyik nagyon könnyen lehallgatható. A naplózásokkor viszont gyakorlatilag az URL mindig mentésre kerül, a kérés törzse pedig gyakorlatilag soha. Tehát a GET-tel küldött adatok belekerülnek a webszerver logba, a proxy logba, és még ki tudja hova. A POST-tal küldöttek viszont tárolásra nem nagyon kerülnek.

A GET-tel küldött adatok mennyiségére van korlát, több mindentől függ, de általában néhány kilobyte maximum. POST-tal gyakorlatilag tetszőlegesen sok adatot lehet küldeni.

Egy alapelv, amit érdemes követni: ha egy kérés tartalmat küld vissza, akkor azt GET-tel kell érdemes csinálni. És amit GET-tel küldenek, az ne okozzon változást az adatbázisban. Ez alól kivétel a naplózó jellegű dolgok, tehát pl. 1-gyel növelem annak a számát, hogy hányszor nézték meg az adott dolgot stb.

Ha egy kérés változásokat okoz az adatbázisban, akkor azt POST-tal kell küldeni. Amit pedig POST-tal küldenek, az ne jelenítsen meg tartalmat, hanem egy Redirect-et adjon vissza a POST után megjelenítendő tartalomra, amit már GET-tel fog lekérni a böngésző. Ezzel elkerülhető az üzenet, amit a böngésző POST-olt oldal frissítésekor jelenít meg, hogy az oldal az elküldött információkból épült fel; valamit nem fordul elő, hogy emiatt kétszer lesz POST-olva a kérés.

A bejelentkezésre a legjobb módszer, hogy POST-tal megy a név/jelszó, aztán Redirect vissza a főoldalra vagy oda, ahonnan történt a bejelentkezés.

Persze van néhány kivétel, amikor megjelenítendő tartalomnál is muszáj POST-ot használni, pl. amikor egy hozzászólást küldünk ellenőrzésre, ekkor egyrészt a hosszú szöveget el kell küldeni valahogy, ami csak POST-tal megy, másrészt adatbázisban tárolás nélkül meg is kell jeleníteni.
17

get vagy post

birkaivan · 2012. Nov. 15. (Cs), 10.11
Sziasztok!
Egy gyors kérdés: Van egy admin felületem, és pl ha egy bejegyzést akarok kezelni, ami egy adatbázisban van, akkor az azonosítóját, amivel az adatbázisból kikeresem GET-tel vagy POST-tal érdemes elküldeni? A fenti hozzászólásokból arra gondolok, hogy gyakorlatilag teljesen mindegy

köszi
18

GET

szabo.b.gabor · 2012. Nov. 15. (Cs), 11.32
ha nem változtat adatot GET, ha változtat POST (és utána redirect)

GET változót könnyen beraksz egy <a> tag-be, a post már problémásabb, plusz open link in new tab, plusz frissítés post esetén. eccerű, csak át kell gondolni..
19

de bakker. elolvastam a

szabo.b.gabor · 2012. Nov. 15. (Cs), 11.34
de bakker. elolvastam a hozzászólásod előtti hozzászólást. troll-e vagy?