Autor Zpráva
JurkQo1
Profil
Dobrý deň, mám takýto script:
<?php
 if(isset($_POST['IDP'])){
 $ID = $_POST['IDP'];
       $dbc = mysql_connect("127.0.0.1","root","") or die('Pripojenie k serveru zlyhalo!');
       mysql_select_db("studiodirt", $dbc) or die('Nepodarilo sa označiť databázovú tabuľku!');
 
        mysql_query("DELETE * FROM prispevky WHERE ID = '$ID'");
          echo $ID;
          echo 'Příspěvek byl úspěšně odstraněn!';
          echo ' <a href="../PrispevkyD.php">Zpět</a>';
 } else {
 echo 'Ako si sa sem dostal?';
 echo ' <a href="../PrispevkyD.php">Zpět</a>';
 
 }


?>
Mohli by ste mi povedať prečo mi tento príspevok nevymazalo?
Medvídek
Profil
JurkQo1:
Bez *, jen DELETE FROM
Majkl578
Profil
Oprav si bezpečnostní díru. Pokud ti někdo pošle takotovouto hodnotu: 1' OR '1'='1, smaže ti to všechna data z tabulky. Použij explicitní přetypování na číslo nebo mysql_real_escape_string před vložením do SQL dotazu.
JurkQo1
Profil
diki ale ja sa moc v tom nevyznám nedal by si kód ako opraviť tu dieru?
Kajman
Profil
$ID = (int)$_POST['IDP'];

Ale jestli tam nemáte i kontrolu přihlášení, tak to může někdo smazat všechno i tak, jen na to bude potřebovat více http požadavků.
JurkQo1
Profil
mám tam kontrolu inač diki

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: