Jen nevim co se tu resi injektaz pokud pouzivate addslashes tak nemuzete mit problem...
nemluve o magic quotes ktere teda osobne nesnasim.
jinak s prepare si zkuste hledat neco jako sloupec like '%a%b%c%d%'
nepouzivat addslashes to je jako pouzivat include $_GET['stranka'];
Vlákno názorů k článku
Děravé databáze: věčná láska hackerů
Filip Jirsák (neregistrovaný)
---.oksystem.cz
5. 1. 2010 18:10
RE: Děravé databáze: věčná láska hackerů
Jen nevim co se tu resi injektaz pokud pouzivate addslashes tak nemuzete mit problem...Ale můžete…
addslashes() je právě příklad, kdy se jeden problém vyřeší tak, že se vytvoří jiný, který je minimálně stejně velký. addslashes funguje jedině v případě, že jej použijete na všech potřebných místech a nikde jinde, a na vše právě jednou. Používání addslashes je nouze nejvyšší a je dobré jedině pro případ, kdy opravdu nemůžete použít parametrizované dotazy (přičemž jediný přípustný důvod, proč je nemůžete použít, je, že je vámi používaná knihovna neumí).
Tomas (neregistrovaný)
---.sh.cvut.cz
5. 1. 2010 18:24
RE: Děravé databáze: věčná láska hackerů
Nehlede na to, ze addslashes() trpi problemem ruznych kodovani a samo o sobe tak nemusi byt bezpecne. Kdyz uz escape v PHP, tak mysql_real_escape_string(), pg_real_escape_string() a varianty.
5. 1. 2010 19:36
RE: Děravé databáze: věčná láska hackerů
To je ale zpusobeno nevhodnym pouzivanim magic quotes a addslashes kdy si to zdvojite. nebo kdyz to pouzivate jinde nez pri skladani SQL.
OK vyuziti mysqli::escape_string je mozna lepsi ikdyz seznam kodovanych znaku je
NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
takze nevim jak chcete resit kodovani.
Ale stejne tak funguje prepare exec ze jej musite pouzit vsude. navic pri tvorbe filtru no potes..
OK vyuziti mysqli::escape_string je mozna lepsi ikdyz seznam kodovanych znaku je
NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
takze nevim jak chcete resit kodovani.
Ale stejne tak funguje prepare exec ze jej musite pouzit vsude. navic pri tvorbe filtru no potes..
uživatel si přál zůstat v anonymitě
---.adsl.dial-up.cz
11. 1. 2010 9:55
RE: Děravé databáze: věčná láska hackerů
Myslim ze je lepsi pouzivat framework typu nette+dibi, kde je jiz opravdu docela slozite napsat kod ktery neni bezpecny (i kdyz i to jde), magic quotes a addslashes je prece jen tezsi uhlidat, resp. vyzaduje to od programatora praci navic. U kvalitniho frameworku je to opacne, praci navic musite udelat pokud to nechcete bezpecne.
(konkretne u dibi je teda jeste dulezite aby clovek psal SQL dotazy pres parametry a ne primo jako jeden string, u samotneho nette snad nebezpecny kod napsat omylem nejde, pokud nenapisete nekam do sablony "!" omylem, co je velmi nepravdepodobne .. aha, jeste je dobre parametrizovat pripustne znaky v nastaveni URL routeru pres regexpy, tam je dalsi slabsi misto ktere v soucinnosti s jinou slabomyslnosti v kodu muze nakonec udelat i neco nebezpecneho .. zbytek funguje dost dobre i bez toho ze by jste nad tim premysleli)
(konkretne u dibi je teda jeste dulezite aby clovek psal SQL dotazy pres parametry a ne primo jako jeden string, u samotneho nette snad nebezpecny kod napsat omylem nejde, pokud nenapisete nekam do sablony "!" omylem, co je velmi nepravdepodobne .. aha, jeste je dobre parametrizovat pripustne znaky v nastaveni URL routeru pres regexpy, tam je dalsi slabsi misto ktere v soucinnosti s jinou slabomyslnosti v kodu muze nakonec udelat i neco nebezpecneho .. zbytek funguje dost dobre i bez toho ze by jste nad tim premysleli)