Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se koná výstava fotografií Luďka Vojtěchovského?

V dnešní soutěži hrajeme o:



Bezpečnost XML a XML schémat

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Bezpečnost XML a XML schémat

Autor: Rudolf ♂

19:10:49 26.07.2013

Zdravím,
mám s tím opět problémy.
Schéma mám vložené v resources a načítám ho pomocí:
xSchema= GetType().Assembly.GetManifestResourceStream(GetType().Assembly.GetName().Name + ".bin.Debug.Schema.xsd");

Stream se načte ,ale pokud se z něj pokusím vložit schéma, tak program spadne.

XmlReaderSettings xrSettings;
xrSettings = new XmlReaderSettings();
xrSettings.ValidationType = ValidationType.Schema;
xrSettings.Schemas.Add(null, XmlReader.Create( xSchema));// vyjímka
xrSettings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);

Program spadne s vyjímkou:
"Vyvolání konstruktoru pro typ Tesco.MainWindow, který odpovídá zadaným omezením vazby, vyvolalo výjimku. Číslo řádku 3 a pozice na řádku 9." {"Kořenový element chybí."}.

Pokud změním xrSettings.Schemas.Add(null, XmlReader.Create( xSchema)); na
xrSettings.Schemas.Add(null, XmlReader.Create( "Schema.xsd")); ,tak se schéma načte v pořádku a vše proběhne OK takže ten stream načtený z resources je nějaký pokažený, možná kódování nebo tak, ale nevím jak zjistit co je na něm špatně.

Citovat příspěvek

 

Re: Bezpečnost XML a XML schémat

Autor: Rudolf ♂

15:43:44 26.07.2013

P napsal/a

To se potom da podvrhnout kde co, i samotna aplikace :-)
Soubor se schematem muze byt ulozeny v resourcech, pak se stane soucasti aplikace.



Jo bezva takle být to mohlo být OK :-) Děkuji .-)

Citovat příspěvek

 

Re: Bezpečnost XML a XML schémat

Autor: P ♂

9:21:00 26.07.2013

To se potom da podvrhnout kde co, i samotna aplikace :-)
Soubor se schematem muze byt ulozeny v resourcech, pak se stane soucasti aplikace.

Citovat příspěvek

 

Re: Bezpečnost XML a XML schémat

Autor: Rudolf ♂

8:35:44 26.07.2013

P napsal/a

Jinymi slovy - schema, se kterym aplikace pocita, nebude nekde na webu a odkaz na ne nebude soucasti XML dokumentu. Schema bude ulozene nekde u aplikace a pri validaci se preda parseru.



Ahoj, toto jsem četl, ale to schéma může někdo přece podvrhnout i když je uloženo lokálně u aplikace, když aplikace načítá jeden XML soubor a ví že ho má validovat podle konkrétního lokálně uloženého schématu. Tak stačí ve složce s programem vyhledat odpovídající soubor se schématem a podvrhnout ho jiným schématem se stejným názvem.

Citovat příspěvek

 

Re: Bezpečnost XML a XML schémat

Autor: P ♂

7:56:48 26.07.2013

Jinymi slovy - schema, se kterym aplikace pocita, nebude nekde na webu a odkaz na ne nebude soucasti XML dokumentu. Schema bude ulozene nekde u aplikace a pri validaci se preda parseru.

Citovat příspěvek

 

Re: Bezpečnost XML a XML schémat

Autor: P ♂

7:53:02 26.07.2013

Tak nevim... Na webu, kam jsem Ti u predchoziho dotazu daval link, Jirka Kosek presne tohle popisuje. Tedy:

"Chceme-li přímo v dokumentu XML určit, kde může parser najít schéma například pro účely validace, musíme k tomu použít speciální globální atributy patřící do jmenného prostoru http://www.w3.org/2001/XMLSchema-instance.
...
Obecně však tento způsob připojování schématu nelze doporučit. Hodí se pro účely testování a různých hrátek se schématy. V praxi bychom však atributy schemaLocation a noNamespaceSchemaLocation neměli používat. Schéma vhodné pro validaci by si měla vybrat sama aplikace, která validaci provádí jako součást zpracování dokumentu. Můžeme tak vždy určit jedno pevné schéma, nebo schéma vybrat na základě nějaké mapovací tabulky[4], kde je pro každý jmenný prostor určeno odpovídající schéma. Tím budeme mít zaručeno, že zvalidovaný dokument opravdu odpovídá schématu, se kterým naše aplikace pro další zpracování dokumentu počítá.

Když se spolehneme na atributy pro připojení schématu, může nám kdokoliv podvrhnout jakýkoliv dokument, pro který někde na webu vystavil svoje vlastní schéma. Takový dokument projde validací, ale naše aplikace bude mít v lepším případě problémy s jeho zpracování, v horším ji to zcela vyvede z míry."

Citovat příspěvek

 

Bezpečnost XML a XML schémat

Autor: Rudolf ♂

20:36:20 25.07.2013

Ahoj, dělám hloupou aplikaci v C# co načte XML a validuje ho. Pochopil sem , že validace je proces, který ověří strukturu XML, datový typy atd. A toto ověření pak není nejspíš nutné provádět u aplikace. Ale co se stane, když někdo podvrhne nebo změní oveřovací schéma a upraví i XML soubor? Upravený XML soubor, pak bude bez problému validován a aplikace se pak nejspíš bude chovat nekorektně nebo rovnou spadne. Řeší se nějak to, aby nebylo možné podvrhnout schéma pro ověření XML souboru? Nebo mi něco uniklo a nepochopil jsem celý význam validace a XML schémat?

Děkuji Vám za pomoc.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: