Vylepšení dibi

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Vyki
Člen | 388
+
0
-

Zdravím. Vím, že zde jsem na stránkách projektu Nette Framework, ale snad mě neukamenujete když nápad na „možná“ zlepšení dibi napíši zde. Možná už to někde zaznělo nebo to v dibi je a já jsem to pouze nenašel. Jde o to, že když nechám někde v aplikaci bezpečnostní díru a útočníkovi se podaří dostat až k bloku, kde mám UPDATE nebo DELETE tabulky (lepší určitě dát si pozor), tak se už v podstatě dostal k cílí. Nápad je takový, že dibi by mělo nějaký volitelný security mode, který by v z konfiguračního souboru načítal filtr, kde by bylo napsáno, které příkazy ve kterých tabulkách mají být střeženy.

|    tabulka    |    kontrolovane prikazy    |
----------------------------------------------
|    katalog    |    UPDATE,DELETE  	     |

Na začátku konfiguračního souboru byl nastaven objekt (service), který by měl za úkol zkoumat zda clovek, ktery chce SMAZAT tabulku KATALOG je vubec prihlaseny. Nevim jak dobre by to slo implementovat a jakou by to melo vliv na rychlost, ale urcite by to rada lidi vyuzila.

Editoval Vyki (30. 7. 2009 20:39)

pmg
Člen | 372
+
0
-

Přihlášení se dá implementovat různě, takže není příliš vhodné operace s ním spojené přidávat do dibi. V Nette by měl být přístup k databázi být řízen z modelu, který danou kontrolu může obstarat automaticky, třeba přes nějakou společnou metodu předka.

I kdyby funkce byla přímo v dibi, můžeš zrovna tak udělat chybu někde při konfiguraci. Proto je spíš důležitější pořádně navrhnout samotný model, aby se na kontrolu nedalo zapomenout.

Vyki
Člen | 388
+
0
-

pmg napsal(a):

Přihlášení se dá implementovat různě, takže není příliš vhodné operace s ním spojené přidávat do dibi. V Nette by měl být přístup k databázi být řízen z modelu, který danou kontrolu může obstarat automaticky, třeba přes nějakou společnou metodu předka.

I kdyby funkce byla přímo v dibi, můžeš zrovna tak udělat chybu někde při konfiguraci. Proto je spíš důležitější pořádně navrhnout samotný model, aby se na kontrolu nedalo zapomenout.

Myslel jsem to celé jako takovou poslední záchranou brzdu. Souhalsím s tím, že implementovat přihlašování do dibi by nebylo příliš praktické. Určitě by však šla vymyslet nějaká implementace, která by vše řešila na čistě obecné úrovni. Samozřejmě postavit aplikace na pevných základech je to hlavní.

pmg
Člen | 372
+
0
-

Jen odpovím, abys nemusel čekat, jestli odpovím. Zdá se mi, že se tím problém jen odsouvá a žádná obecná implementace mě nenapadá.

(Když odpovídáš na poslední příspěvek, necituj prosím. A zvlášťe ne mě, neboť mám ve zvyku své příspěvky mazat a nemohu pak skrýt důkazy, že nějaký příspěvek vůbec existoval.)