Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: PDO/MySQL Injekce

PHP PHP PDO/MySQL Injekce American English version English version

Aktivity (1)
Avatar
katrincsak
Člen
Avatar
katrincsak:25.7.2015 22:38

Zdravím,

rád bych se optal. Jestli tímto způsobem nenarušuji ochranu předáním hodnot v proměnné, když v proměnné předávám i část příkazu. Mám to z důvodu toho, abych nemusel vypisovat xx selectu na každou DB zvlášť. Předám jen hodnoty.

Děkuji.

public function sqlSelect($klic, $from, $select, $limit)
{
        try{
                $data = Db::dotazJeden("SELECT ?
                FROM ?
                WHERE ? LIMIT ?",
                array($select, $from, $klic, $limit));

                return $data;
        } catch (PDOException $e) {
                exit;
        }
}
 
Odpovědět 25.7.2015 22:38
Avatar
katrincsak
Člen
Avatar
katrincsak:25.7.2015 22:43

Hlavně jde o ten celý WHERE..že nepředávám jenom hodnotu, ale i celý název sloupce.

 
Nahoru Odpovědět 25.7.2015 22:43
Avatar
IT Man
Redaktor
Avatar
Odpovídá na katrincsak
IT Man:25.7.2015 22:49

Přes náhradní znaky, otazníky, to jde předávat jen u WHERE, co já teda vím. U ostatních ti to hodí chybu - tam musíš dávat rovnou proměnné do toho dotazu.

Nahoru Odpovědět  +1 25.7.2015 22:49
Cokoliv a kdokoliv může jednou uspět.
Avatar
katrincsak
Člen
Avatar
Odpovídá na IT Man
katrincsak:25.7.2015 22:53

Ono to funguje, převezme to hodnoty přesně jak potřebuji. Ale jde mi jen o zachování bezpečnosti předáním hodnot v proměnné. Hlavně u toho where, protože u toho zbytku je to jedno.

Editováno 25.7.2015 22:55
 
Nahoru Odpovědět 25.7.2015 22:53
Avatar
katrincsak
Člen
Avatar
Odpovídá na IT Man
katrincsak:25.7.2015 23:08

Omlouvám se za řešení nesmyslu. Měl jsem nechtěně původní název a tak to frčelo. Předání hodnot, takhle skutečně nejde. Musím vepsat přímo proměnnou, jak napsal IT Man.

 
Nahoru Odpovědět 25.7.2015 23:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.