Autor Zpráva
Fisak
Profil
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
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
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
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: