Zadejte hledaný výraz...

Svazování proměnných

Může mi někdo vysvětlit co přesně znamená svazování proměnných a jak to pomáhá při ochraně proti sql injection? Na webu všichni dokola kopírují články Jakuba Vrány, ale ten nikde zatím nenapsal "svazování proměnných znamená tohle a tohle". Nejde mi totiž do hlavy, proč by řetězec vyhodnocený jako string (PDO::PARAM_STR), nemohl obsahovat injektážní kód.
30. 1. 2013 14:56:34
https://webtrh.cz/diskuse/svazovani-promennych#reply859799
Tady to je vysvětlené
http://en.wikipedia.org/wiki/Prepared_statement
Prepared statements are resilient against SQL injection, because parameter values, which are transmitted later using a different protocol, need not be correctly escaped.
Jinými slovy, prepared statement do kterého později navážete proměnnou, se nechová jako textový řetězec předaný SQL k vykonání. Databáze si parametry ošetří sama.
Viz také
How to prevent SQL injection in PHP?
30. 1. 2013 15:03:04
https://webtrh.cz/diskuse/svazovani-promennych#reply859798
Macejko.sk
verified
rating uzivatele
(5 hodnocení)
30. 1. 2013 15:47:46
Podla mojho nazoru k SQL injection pri PDO nemoze dojst. Nakolko prepared statements funguju "presne" opacne ako klasicke mysql query sql dotazy.
1. Najprv sa posle na DB server nekompletny SQL dotaz, kde niesu urcene vstupy. napr. ->prepare("SELECT nieco FROM tabulka WHERE cas = ?");
2. Na DB server posleme vstupy. Ktore ale uz netreba nijak upravovat, ( takze ziadne escape string ani nic podobne) a DB (vid Martin) si tieto vstupy osetri sama.
30. 1. 2013 15:47:46
https://webtrh.cz/diskuse/svazovani-promennych#reply859797
Díky, to jsem potřeboval vědět.
30. 1. 2013 22:28:16
https://webtrh.cz/diskuse/svazovani-promennych#reply859796
Macejko.sk
verified
rating uzivatele
(5 hodnocení)
31. 1. 2013 01:33:35
Za malo :)
31. 1. 2013 01:33:35
https://webtrh.cz/diskuse/svazovani-promennych#reply859795
Pro odpověď se přihlašte.
Přihlásit