Autor | Zpráva | ||
---|---|---|---|
swimmer01 Profil |
#1 · Zasláno: 28. 2. 2015, 17:26:03
Zdravím,
potřeboval bych, prosím, poradit, jak ochránit např. tento kód proti SQL Injection. Nejsem žádný profík.. Když jsem zkoušel sám na sebe zaútočit (podle návodů), abych si to mohl vyzkoušet, že ten útok fakt funguje, tak mi to napsalo "špatnej dotaz" a v databázi se samozřejmě nic nesmazalo.. Hledal jsem sice různě na internetu a našel několik ukázek jak se chránit.. jenže když nejsem ani schopnej sám na sebe zaútočit na tento nechráněnej kód, tak i kdybych aplikoval na ochranu něco z toho, co jsem našel, tak si neověřím, jestli to fakt chrání nebo ne. <form action="injection.php"> <br> zadej jméno <input type="text" name="klic"> <input type="submit" value="OK" name="odeslano"> </form> <?php $pripojeni = @mysqli_connect("localhost", "user", "password", "databaze"); $klic=$_REQUEST['klic']; $dotaz ="select * from uzivatele where jmeno = '$klic'"; $vysledek = mysqli_query($pripojeni, $dotaz)or die("špatný dotaz <br>$dotaz<br>".mysqli_error()); echo "<table border=1><th>ID</th><th>jméno</th>"; while ($row = mysqli_fetch_array($vysledek)) { echo"<tr><td>$row[0]</td><td>$row[1]</td></tr>"; } mysqli_close($pripojeni); ?> Díky |
||
juriad Profil |
$dotaz ="select * from uzivatele where jmeno = '" . mysqli_real_escape_string($pripojeni, $klic) . "'"; |
||
snazimse Profil |
#3 · Zasláno: 1. 3. 2015, 18:05:20
juriad:
A k čemu se to vlastně používá, dneska ten $_REQUEST? To je celé polé requestů, k čemu to je dobré? Když např, POST si předám přímo, nebo ,kdyby všechny tak v poli $_POST. |
||
Keeehi Profil |
#4 · Zasláno: 1. 3. 2015, 18:39:06
snazimse:
K čemu je dobré? Ještě jsem nenarazil na případ, kdy by bylo dobré nebo doonce nutné ho použít. |
||
swimmer01 Profil |
#5 · Zasláno: 1. 3. 2015, 19:48:32
Díky :)
$_REQUEST nás učili ve škole, ale už neříkali, že to není úplně bezpečný. Nahradil jsem to metodou GET
|
||
snazimse Profil |
#6 · Zasláno: 1. 3. 2015, 20:39:37
swimmer01, Keeehi:
No já bych chtěl právě vědět, kde to má nějaký přímý přínos, já jsem to taky právě nikdy nepoužil. Ve škole ti neřeknou, takové věci. |
||
Keeehi Profil |
#7 · Zasláno: 1. 3. 2015, 20:52:36
snazimse:
„No já bych chtěl právě vědět, kde to má nějaký přímý přínos“ Ono to právě žádný přínos nemá. Všechny hodnoty obsažené v tomto poli se dají zjistit z jiných. Někdo by asi mohl argumentovat tím, že tahle nemusíš vědět z jakého zdroje to pochází a tedy kde to máš zjišťovat. Ve sutečnosti je to ale přesně naopak. Správně bys měl mít vždy přehled o tom, z jakého zdroje data pocházejí a pokud jsou od jinud, než by měli být, je to přinejmenším podezřelé. |
||
Časová prodleva: 9 let
|
0