Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 28. 3. 2013, 15:33:07
Dobrý den. Mám kód na mazání záznamů z db a dělám to pomocí tlačítka type="hidden" ale toto řešení mi přijde poněkud nešťastné protože např. v chromu si můžu html změnit a pokud změnim u tohoto tlačítka value="id_zaznamu" tak se mi smaže jiný záznam že?
PHP: <?php if(isset($_POST["schvalit"])) { $rest_update = DB::query("SELECT * FROM [youtube_videos] where [id] = %s", $_POST['idvideo'])->fetchAll(); foreach ($rest_update as $n => $ech_update) { $arr_schvalit = array( 'approved' => 'yes', 'game' => $_POST["games"], 'game_url' => friendly_url($_POST["games"]), ); DB::query('UPDATE [youtube_videos] SET', $arr_schvalit, ' WHERE [id]=%s', $ech_update->id); } } HTML: <form method="post"> <input type="hidden" value="<?php echo $ech_ch->id; ?>" name="idvideo" /> <input name="schvalit" type="submit" class="form" value="SCHVÁLIT"/> </form> |
||
Tori Profil |
A podle čeho byste rozlišil záznamy, které nemají být smazatelné?
edit: můžete si před zobrazením formuláře uložit ID do session a při zpracování formuláře zkontrolovat. |
||
Fisak Profil |
#3 · Zasláno: 28. 3. 2013, 15:41:43
Tori:
NO mam tam výběr hry tj select a potom tlačítko schválit a smazat a já postupně záznamy buď mažu nebo vyberu hru a schválim.. ale vše funguje správně jen je to pomocí toho type="hidden" docela nešťatsné protože můžu v html změnit id a smaže se mi nebo se mi nesprávně schválí špatný záznam s špatnym id v db.. Proto bych se chtěl zeptat na jiné řešení.. |
||
Tori Profil |
Fisak:
„jen je to pomocí toho type="hidden" docela nešťatsné protože můžu v html změnit id a smaže se mi nebo se mi nesprávně schválí špatný záznam s špatnym id v db“ No tak to neměňte, ne? Anebo běžně když děláte něco v administraci webu, tak zároveň editujete HTML (hackujete sám sebe)? Anebo do té administrace má přístup víc lidí? (Prostě nechápu co řešíte.) |
||
Fisak Profil |
#5 · Zasláno: 28. 3. 2013, 16:00:58
Tori:
No mě jde o celkové řešení když to budu chtít použít někde jinde na běžnym webu. Používá se toto řešení i u jiných velkých webů nebo se to tam řeší jinak? |
||
Tori Profil |
#6 · Zasláno: 28. 3. 2013, 16:07:19
Proto se ptám, podle čeho vlastně rozlišujete, jestli určitý záznam má nebo nemá být smazán. Myslím, že se to spíš řeší přístupovými právy - běžný uživatel může editovat (případně smazat) jen to, co sám vytvořil, moderátor může editovat i cizí data, admin může editovat (případně smazat) všechno. A místo skutečného mazání se taky dá jen označit záznam za smazaný (= další sloupec typu BOOLEAN).
|
||
Jan Tvrdík Profil |
#7 · Zasláno: 28. 3. 2013, 16:11:15
Fisak:
Při zpracování formulář ověř, zda má aktuálně přihlášený uživatel právo s daným záznamem provést danou akci. Ukládání do session a podobné vylomeniny jsou zbytečné kompilace a přitom je u nich pravděpodobnější udělat bezpečností díru. |
||
Časová prodleva: 11 let
|
0