Autor | Zpráva | ||
---|---|---|---|
Peto Profil * |
#1 · Zasláno: 14. 10. 2009, 10:42:21
Ahoj,
jádro věci je následujíci: Mám stránku kde vypisuji data mysql a vytvořil jsem si na další stránce script pro mazaní jednotlivých dat, ale bohužel mi to nefunguje a nevím kde může být chyba. Přikladám obě stránky: <? if(file_exists("konfigurace.php")) { include("konfigurace.php"); } else { die("Konfigurační soubor <b>konfigurace.php</b> nebyl nalezen."); } $sql = mysql_query("SELECT * FROM gb_data ORDER BY datum DESC LIMIT 4;") or die("Chyba databáze. Zkuste prosím akci opakovat později"); while($row = mysql_fetch_array($sql)) { echo "\t\t <p><b>$row[2]</b> $row[5] Vloženo: $row[3]<br> $row[1]<br> <a href='delete.php?id=$row[0]'>smazat</a></p>"; } ?> Druhá stránka která to má smaz <? if(file_exists("konfigurace.php")) { include("konfigurace.php"); } else { die("Konfigurační soubor <b>konfigurace.php</b> nebyl nalezen."); } $sql = "DELETE FROM gb_data WHERE id = '$id' LIMIT 1;"; mysql_query($sql) or die("Chyba databáze. Zkuste prosím akci opakovat později."); ?> |
||
Kajman_ Profil * |
#2 · Zasláno: 14. 10. 2009, 10:48:11
$id=intval($_GET['id']); Ale je to takové nebezpečné. Většinou se kontroluje, zda na to mazání máte právo a jestli souhlasí referer se stránkou, ze které má vést odkaz. |
||
Lamicz Profil |
#3 · Zasláno: 14. 10. 2009, 20:31:02
Kajman_
Nebo se kontroluje nejaky random string jako hidden input (jak to popsal Jakub Vrana na svem blogu jako ochranu proti CSRF). |
||
Časová prodleva: 15 let
|
0