• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    LIRO
    LIRO --- ---
    MORMEGIL: Mno snažím se kombinovat různé způsoby ověření. Skryté pole ve formuláři s šifrovanou hodnotou, která se spojí s šifrovanou hodnotou z cookies a časovým razítkem. ReCaptchu, která se ukazuje po určitém počtu odeslaných dotazů, tak aby to normálního uživatele nijak neomezilo. Ověření dat před uložením, a vymazání potencionálně nebezpečných hodnot. Maximální počet odeslaných formulářů z IP adresy za určitý čas.
    Je fakt že jsem používal viewstate jako další místo pro uložení další ověřovací hodnoty. Ale kupodivu to byla
    nejmíň spolehlivá část. Například při více formulářích vygenerovaných na jedné straně, se u některých hodnoty z VS nenačetli korektně a na konci se nespojili s časovým razítkem stránky. Nepřišel jsem na to proč. Jediné co bylo jinak, že ve straně bylo víc formulářů. Ale byla to další cestička k možnému ověření, za určitých podmínek.

    Mno když nad tím tak přemýšlím, třeba nechám na konci stránky prázdný form s runat="server" a šoupnu do něj nic neovlivňující vějičku, která nikam nepovede, jen zaplní VS trochou šifrovaného balastu.
    CERMI_FOX
    CERMI_FOX --- ---
    MORMEGIL: viewstate neresi csrf, to je rozsireny omyl. Prinejlepsim ho trochu komplikuje.
    MORMEGIL
    MORMEGIL --- ---
    LIRO: Máš nějak řešenou ochranu proti CSRF? Viewstate podobné věci (za určitých podmínek) řeší tak nějak mimochodem, takže jestli se ho zbavíš, tak to patrně musíš řešit nějak sám.
    LIRO
    LIRO --- ---
    Ahoj, předem se omlouvám, ale teď se zeptám asi jako úplná lama. Ne že by tomu jindy bylo jinak. Programuju víceméně pro zábavu a před časem jsem začal na vlastním CMS-ku. Teď jsem dospěl do fáze, že se mi komplet obsah generuje ze šablon, z databáze a přestal jsem potřebovat základní form runat="server". Tím pádem ze stránek zmizeli viewstate a další skryté prvky.
    Otázka zní, jestli nepřítomnost těhle prvků, nebude mít nějaký vliv na bezpečnost webu a když tak na co si dát pozor.
    Formuláře, vyhledávání atd řeším přes Request.Form.
    Předem moc díky za rady.
    ROTTWEILER
    ROTTWEILER --- ---
    PEPSIN: Koukni na Udemy nebo Pluralsight.
    PEPSIN
    PEPSIN --- ---
    UETOYO: Diky, mrknu.
    UETOYO
    UETOYO --- ---
    PEPSIN: No já to myslel tak, že .NET Core má ještě pár much. Např. občas chybějící knihovny jako pro Oracle (pravda to jsem teď dlouho nezkoumal, ale před půl rokem ještě nebyla). Také se teď přechází na verzi 2.0 a třeba tooling pro F# není ve VS dotažený. Jinak já úspěšně programuji na Ubuntu a nasazeno mám na Windows serveru, takže v tomhle ohledu jsem docela spokojen. Být tebou zkusím si F# + Fable (transpiler do JS) + Elmish (Elm architektura) + React.
    PEPSIN
    PEPSIN --- ---
    UETOYO: spis jsem to chtel pojmout jako sebevzdelavani.
    UETOYO
    UETOYO --- ---
    PEPSIN: Doporučim oficiální dokumentaci. Od té doby co je na githubu je dobrá. Je tam i tutorial. Jinak co chceš psát nad .net core?
    PEPSIN
    PEPSIN --- ---
    Par otazek na zkusenejsi programatory:

    Mate nekdo nejake dobre rady na literaturu/blog/tutorial na .Net Core?

    Vite nekdo o nejakem hezkem blogu zabyvajicich se patterny a jejich aplikaci v ruznych frameworkcich? (nevim uplne presne jak polozit tuhle otazku, tak z toho aspon trosku vyplyva co mam na mysli)
    SAJAGI
    SAJAGI --- ---
    SAJAGI: Jinak paket už umí podporu pro netstandard a netcore docela dobře. Každý druhý den navíc vychází nová verze paketu, autoři se dost snaží, chválím je.
    NECROMAN
    NECROMAN --- ---
    TEAPACK: Zkus samply tady, v 99% tam najdeš, co hledáš
    Windows-universal-samples/Samples at master · Microsoft/Windows-universal-samples · GitHub
    https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples
    TEAPACK
    TEAPACK --- ---
    Ahoj, dělal jste někdo s kamerama na Win10? zrovna portuju jednu aplikaci z Win8.1 do W10 a nemohu nikde najít objekt Capture(), který byl předtím IMHO přímo dostupný bez potřeby přidávat nějakou reference... To, co mi to nabízí se netváří jako 2x kompatibilní - ICapture / VideoCapture. Ocením jakékoli nasměrování =)
    SAJAGI
    SAJAGI --- ---
    UETOYO: Zatím to "řeším" tak, že volám paket restore na ne-System knihovny a dotnet restore na zbytek. Současná stable verze paketu neumí přidávat reference podle paket.references (beta možná jo, nezkoušel jsem). Možná to takhle má být správně, nevím.
    UETOYO
    UETOYO --- ---
    SAJAGI: Budu se tím taky zabývat -- tento tyden, dám vědět.
    SAJAGI
    SAJAGI --- ---
    Ahoj, mohl by mě prosím někdo nasměrovat, jak funguje paket s netstandard projektama (VS 2017)? Dá se nějak vyhnout volání "dotnet restore"? Snažím se googlit, ale zatím jsem žádný kloudný článek nenašel. Díky moc!
    UETOYO
    UETOYO --- ---
    Suave asi znáte, ale tohle přímo nadstavba nad ASP: https://github.com/dustinmoris/Giraffe
    JANFROG
    JANFROG --- ---
    MORMEGIL: Uz to vidim, diky! Jsem zblblej z jinejch systemu s metatridama, tady to funguje trosku jinak, pochopitelne. Diky!
    MORMEGIL
    MORMEGIL --- ---
    JANFROG: No a proč máš dojem, že by snad typ AppDomain obsahoval metodu InvokeMember? InvokeMember nemůžeš volat na AppDomain, ale na Type. Tzn. musel bys (asi, trochu mi uniká smysl toho cvičení) psát
    Assembly A = (Assembly)D.GetType().GetType().InvokeMember( ...
    JANFROG
    JANFROG --- ---
    Asi mi unika neco trivialniho, ale co?
    Mam test ktery projde.
    
    		[Test]
    		public void TestInvokeMember0() {
    			AppDomain D = AppDomain.CurrentDomain;
    			Assembly A = (Assembly)D.GetType().InvokeMember(
    					"Load",
    					BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod,
    					null,
    					D,
    					new object[] { "mscorlib" });
    			Assert.IsTrue(D.Load("mscorlib") == A);			
    		}
    


    A pak mam test ktery neprojde:
    
    		[Test]
    		public void TestInvokeMember1() {
    			AppDomain D = AppDomain.CurrentDomain;
    			Assembly A = (Assembly)D.GetType().InvokeMember(
    				"InvokeMember", 
    				BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod,
    				null,
    				D.GetType(),
    				new object[] {
    					"Load",
    					BindingFlags.Public | BindingFlags.Instance | BindingFlags.InvokeMethod,
    					null,
    					D,
    					new object[] { "mscorlib" }});
    			Assert.IsTrue(D.Load("mscorlib") == A);			
    		}
    


    Rozdil je v tom, ze druhy test zavola InvokeMember() ktery zavola InvokeMember() ktery zavola Load(). Ale neprojde to:
    
    
    Errors and Failures:
    1) Test Error : Bee.CLRInterop.Tests.TypeTests.TestInvokeMember1
       System.MissingMethodException : Method 'System.AppDomain.InvokeMember' not found.
       at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
       at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
       at Bee.CLRInterop.Tests.TypeTests.TestInvokeMember1() in h:\Projects\Bee\sources3\bee-clr-interop-tests\Bee.CLRInterop.Tests\TypeTests.cs:line 142
    


    Napada nekoho, co mam blbe?
    TOOMIX
    TOOMIX --- ---
    NECROMAN: jsou tam SDK (jak pro Win 10, tak i pro Win 8.1, iOS a Android), a to pak skáče po 10-15GB za jedno
    NECROMAN
    NECROMAN --- ---
    ZBYNEK: je tam milion emulatoru pro Windows Phone/Mobile, ani bych se nedivil.
    TOOMIX
    TOOMIX --- ---
    když tam člověk zvolí všechny možnosti (SDK, UWP atd), tak se není čemu divit
    UETOYO
    UETOYO --- ---
    ZBYNEK: Oficiálně je uvedeno max 83GB. No je to i tak dost....
    ZBYNEK
    ZBYNEK --- ---
    Microsoft mě opět pobavil - komplet download Visual studia 2017 má něco přes 100G ;-))) Už chápu proč přestali dělat dvd/iso...
    VITI
    VITI --- ---
    SHIGORBIRDMAN: mi s tim zkouseli psi kusy a prd, pak prisla 2015, ktera hodne veci z r# umela, tak sem si postupne naviknul na lehce primitivnejsi ale rychlejsi prostredi. Je mozny, ze je problem u nas a mame starsi hw ci tak neco.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    VITI: je mu treba obcas procistit cache (zjistil jsem, kdyz mi doslo misto na systemovem ssd disku a objevil jsem desitky gigabajtu vselijakych temp souboru a cache - po smazani se to zase vyrazne uklidnilo. ale jo, ma obcas tendence se hrozne zamyslet
    GARFIELD
    GARFIELD --- ---
    Po dlouhy dobe jsem opet napsal neco o C# - Garbage collection
    Garbage collection in C# :: Jakub Chodounský :: The diary of a software developer
    https://chodounsky.net/2017/05/03/garbage-collection-in-c-sharp/
    TOOMIX
    TOOMIX --- ---
    mám čistou instalaci, doinstaloval jsem tam jen DevExpress, Snippet designer a AnkhSVN
    VITI
    VITI --- ---
    SHIGORBIRDMAN: na 2015 mi to slo i bez r#, ktery je si super a chybi mi, ale na vetsim projektu desne zpomaloval :-/
    TOOMIX
    TOOMIX --- ---
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    TOOMIX: nemas nahodou nainstalovany resharper? mam dojem ze tohle hole VS nedela (bez resharperu si uz c# ve VS nedovedu predstavit, peklo kdyz nahodou chvili delam neco na notebooku, kde ho nemam). asi nejlpis investovane prachy do vyvojarskeho nastroje za posledni roky
    Kliknutím sem můžete změnit nastavení reklam