předání ID záznamu pomocí metody POST
- AZJOL
- Člen | 34
Zdravím,
potřeboval bych poradit, jak předám ID pomocí metody POST. Potřebuji, aby v adrese nebylo vidět, jaké ID záznamu posílám. Jedná se o aplikaci, kde si uživatel zobrazí detail svého záznamu (nemůže ho tedy logicky vidět uživatel jiný).
Na stránce je vypsán seznam záznamů a po kliku by měl být redirect na detail záznamu.
Díky moc všem za odpověď.
- japlavaren
- Člen | 404
ahoj,
ak chapem spravne, chces redirect cez post po kliknuti na zaznam. dost netradicne riesenie ale urcite mas pren svoje dovody.
napadaju ma dve riesenia:
- pre kazdy zaznam vytvoris formular, kde bude input hiden s tvojou hodnotou a submit button
- spravis jeden form ktory bude mat viacero buttonov s rovnakym name ale roznym value
- AZJOL
- Člen | 34
První řešení zní fajn..
Napadlo mě také nějak „zašifrovat“ parametr v metodě GET. Zas tak
tajné ty informace nejsou.
Přirovnal bych to k příkladu, kdy uživatel uvidí seznam svých odeslaných emailů a chtěl by si email rozkliknout, kdyby to bylo pomocí metody GET, tak přepíše id na jiné a může vidět emaily jiných uživatelů…
- japlavaren
- Člen | 404
tak potom riesis bezpecnostnu chybu ale na nespravnom mieste. nemozes dovolit uzivatelovi aby mal pristup k informaciam ineho uzivatela ak niesu verejne tym, ze zmeni id nech uz je to cislo alebo hocico ine. preto by si mal pre kazdy taky dotaz overovat, ci je ten uzivatel opravneny vidiet tie data a ak nie nedovolit mu to
- japlavaren
- Člen | 404
AZJOL napsal(a):
První řešení zní fajn..
Napadlo mě také nějak „zašifrovat“ parametr v metodě GET. Zas tak tajné ty informace nejsou.Přirovnal bych to k příkladu, kdy uživatel uvidí seznam svých odeslaných emailů a chtěl by si email rozkliknout, kdyby to bylo pomocí metody GET, tak přepíše id na jiné a může vidět emaily jiných uživatelů…
skuseny uzivatel ti dokaze podstrcit post formular s hocakym id. to, ze to nieje vidiet v url pri gete mu nezabrani pouzit to v poste
- Oli
- Člen | 1215
Přesně jak píše @japlavaren. Na tohle slouží role (pokud může
nějakou část vidět více uživatelů) nebo to náleží přímo uživateli.
A tam to můžeš ověřit na té nejjednodušší úrovni prostým
if ($user->getIdentity))->getId() === $secretObject->getOwnerId())
.
Nic složitějšího to není ;-)