Jak używać domeny aplikacji do uruchomienia Assemblies z ograniczonymi uprawnieniami Ograniczenie uprawnień domeny aplikacji może znacznie ograniczyć ryzyko, że assemblies, której używamy nie wykona żadnych złośliwych działań. Training kit przytacza taki przykład: Kupujemy assembly od kogoś i używamy jej do komunikacji z bazą danych. Jakiś gość znajduję lukę w kupionej assembly i używa do skonfigurowania “spyware’owej” aplikacji, która uruchamia się automatycznie przy starcie. W momencie gdy uży...
Strona głównaUżytkownik
kml | użytkownik
Dzisiaj króciutki rozdział o usługach windows. Windows Service jest procesem uruchomionym w tle bez interfejsu i we własnej sesji użytkownika. Usługa może być uruchomiona automatycznie, podczas startu komputera, nawet bez zalogowania użytkownika. Sam windows ma kilkadziesiąt usług np. Workstation, World Wide Web Publishing. Usługi windows funkcjonują inaczej niż inne typu projektów.Skompilowany plik wykonywalny usług musi być zainstalowany przed instalacją projektu aby mógł on funkcjonować w sensowny sp...
W tej lekcji opiszemy sposoby korzystania z plików konfiguracyjnych oraz narzędzi do konfigurowania .NET FrameworkaKonfiguracja ustawień .NET Framework’a Możemy skonfigurować ustawienia .NET używając do tego pliku konfiguracyjnego .config. Przykładowo, .NET domyślnie uruchamia aplikację używając tej wersji .NET, w której została zbudowana. Aby umożliwić aplikacji uruchomienie się w innej wersji Frameworka wystarczy, że dodamy jedną sekcję do pliku konfiguracyjnego: 1: Do określania gdzie runtime ...
Zazwyczaj aby stworzyć instalator dodajemy projekt instalacji do projektu. No ale . NET Framework pozwala zaimplementować swój własny niestandardowy instalator. W ćwiczeniu pierwszym pod tym rozdziałem w training kit jest przedstawione stworzenie standardowego instalatora w drugim natomiast niestandardowego. Jako, że certyfikat 70-536 nie obejmuje tematyki tworzenia standardowych instalatorów omówmy sobie ten drugi typ.Tworzenie niestandardowego instalatora Jeżeli potrzebujemy większej kontroli nad proce...
W tej lekcji zostanie opisane używanie standardowych oraz własnych liczników wydajności (performance counters).Monitorowanie liczników Windows zawiera bardzo dużo performance counterów, które umożliwiają monitorowanie systemu operacyjnego w czasie rzeczywistym. Możemy obejrzeć countery za pomocą wbudowanych mechanizmów Windowsa. W tym celu należy: 1. Klikamy start->Prawym przyciskiem myszy na Komputer-> Zarządzaj 2. W narzędziach systemowych rozwijamy zakładkę wydajność 3. Rozwijamy narzędzia m...
Jedną z nowości w Windows 7 są tzw. Search Connectors – łączniki wyszukiwania. Pozwalają one przeszukiwać zasoby Internetu, dając nam przy tym wrażenie pracy z lokalnymi plikami. Postanowiłem zrobić taki Connector dla bloga grupy – Eastgroup.pl. Jako wynik moich prac powstały dwa Connectory, które stanowią różne podejścia do przeszukiwania witryny.Mechanizm wbudowany Pierwsze rozwiązanie problemu bazuje na wbudowanych mechanizmach systemu BlogEngine .NET.Pobieramy plik http://eastgroup.pl/opensearch.axd ...
Nasze aplikacje często potrzebują informacji na temat np. uruchomionych procesów lub ilość podłączonych urządzeń magazynujących itp. Ponad to często może okazać się przydatne zareagowanie na uruchomienie jakiegoś procesu. Do realizacji tego typu zadań możemy wykorzystać w .NET Framework klasy Process czy też Windows Management Instrumentation (WMI). Analiza procesów Do wyświetlenia wszystkich aktualnie uruchomionych procesów możemy użyć statycznej metody Process.GetProcesses. Poniższy kod przedstawia wyk...
CAS (Code access security) to system zabezpieczeń, który pozwala zarządzać dostępem programów do zasobów systemowych. Jest to system dający znacznie więcej możliwości konfiguracji, niż standardowe zarządzanie rolami (RBS, role-based security). Możemy np. określić, czy dana aplikacja może wysyłać zapytania do Internetu, czy otwierać pliki lokalne. Niestety mechanizm ograniczony jest do aplikacji zarządzanych (ang. managed) .NET Framework, pozostałe ograniczone są tylko przez uprawnienia systemu operacyjne...
Powody do używania CAS Assembly Declarations Głównie z trzech powodów używamy CAS Assembly Declarations: 1. Aby zapewnić, że runtime nigdy nie uruchomi aplikacji bez uprawnień do pożądanych zasobów. 2. Do stworzenia tzw. “piaskownicy” dla naszej aplikacji po to, aby atakujący nie mógł nią manipulować 3. Aby zweryfikować, że aplikacja może być uruchomiona z ograniczeniami dostępu CASKlasy dla uprawnień CAS CAS może ograniczyć dostęp do różnego rodzaju zasobów: plików, folderów, drukarek, dostępu ...
CAS może być używany deklaratywnie wtedy kod jest poddany kontroli bezpieczeństwa już na etapie kompilacji przed uruchomieniem kodu lub imperatywnie wtedy kod sam wykonuję kontrolę bezpieczeństwa i decyduje co ma się zdarzyć podczas niepowodzenia. W poprzedniej lekcji było pokazane jak chronić całe assembly. Ale można użyć również CAS do chronienia pojedynczej metody bądź wyodrębnionego kodu.Typy metod Permission Requests Mimo, że są trzy typy deklaracji CAS assembly ( RequestOptional, RequestMinimum, an...
W tej lekcji nauczymy się podstaw ACL jego sposobu analizowania i konfigurowania z poziomu aplikacji.Co to jest Lista Discretionary Access Control A discretionary access control list (DACL) jest mechanizmem do autoryzacji, który identyfikuje użytkowników oraz grupy, które mają dostęp lub jego brak do obiektu. Windows Vista oraz Windows Server 2008, tak jak i wszystkie poprzednie, śledzą przywileje użytkowników, którzy mają dostęp do zasobów za pomocą DACL. Jeśli DACL nie identyfikuje jednoznacznie u...
Nie od dziś wiadomo, że dane (szczególnie te poufne) należy zabezpieczać i zapobiec dostaniu się ich w niepowołane ręce. .NET Framework udostępnia nam klasy które pozwalają zaimplementować szyfrowanie symetryczne, asymetryczne, hashing czy też podpis elektroniczny. Spróbujemy dzisiaj omówić sobie po krótce każdy ze sposobów.Szyfrowanie i deszyfrowanie danych symetrycznie za pomocą klucza Kluczowym elementem w tym szyfrowaniu jest klucz. Klucz musi być znany nadawcy do zaszyfrowania informacji jak i odbi...
Framework .NET pozwala korzystać z systemowego systemu zabezpieczeń opartego na rolach (ang. RBS, Role-based security), Active Directory, lub własnych mechanizmów. Dzięki temu możemy kontrolować do jakich zasobów, czy funkcji użytkownik ma dostęp. Programowo możemy zarządzać autoryzacją (ang. authorization) i autentykacją użytkowników (ang. authentication):Autentykacja – weryfikuje tożsamość użytkownika, określa to kim jest użytkownik; zwykle zachodzi na podstawie nazwy użytkownika i hasła, mogą do tego ...
Framework .NET zapewnia zarządzalne odpowiedniki dla niemal każdej funkcji Win32, którą chcielibyśmy wywołać. Jednak duża ilość istniejącego kodu niezarządzalnego (ang. unmanaged) zmusza osoby tworzące oprogramowanie, aby znały metody korzystania z obiektów COM (Component Object Model). Jako przykładem posłużymy się Microsoft Speech Object Library (%Windir%\System32\Speech\Common\Sapi.dll) – biblioteką dającą dostęp do systemowego mechanizmu syntezy mowy.Niech nasza aplikacja przemówi! Aplikacja może do ...
Wytyczne dotyczące udostępniania typów .NET dla aplikacji COM Kiedy planujemy udostępniać typy .NET w aplikacjach COM, powinniśmy trzymać się poniższych wytycznych:Typy, metody, właściwości, pola oraz zdarzenia muszą być publiczne.Klasy powinny wyraźnie implementować interfejsy. Możemy również pozwolić aby COM generował nam interfejs automatycznieTypy powinny mieć domyślny, bezparametrowy konstruktor. Należy unikać sparametryzowanych konstruktorówTypy nie mogą być abstrakcyjneNależy unikać statycznych me...
Dzisiaj powiemy sobie o używaniu refleksji, tworzeniu instancji typów, wywoływanie metod do dynamicznego ładowania pakietów, ładowaniu pakietów itd. Przez większość czasu mamy bezpośredni dostęp do typów w trakcie pisania kodu. Są jednak chwilę kiedy warto byłoby załadować assembly, typy i metody zawarte w nim dynamicznie. Na przykład aplikacja, która obsługuje wtyczki powinna być napisana tak aby uruchomić plug-in dynamicznie nawet gdy plug-in nie jest dostępny, podczas opracowywania takiego wniosku.Jak...
E-mail jest popularnym mechanizmem komunikacji. Framework .NET zawiera przestrzeń nazw System.Net.Mail, która zawiera klasy wspomagające tworzenie i wysyłanie wiadomości e-mail. W tym artykule skupimy się wyłącznie na tworzeniu wiadomości. Następna lekcja będzie o wysyłaniu. Podstawowa wiadomość Aby wysłać wiadomość należy utworzyć obiekt MailMessage, określić nadawcę, odbiorcę, tytuł (ang. subject) i treść wiadomość (ang. body). Klasa MailMessage zawiera kilka konstruktorów. Najprostszy pozwala nam utw...
Jak wysłać wiadomość Po utworzeniu wiadomości, musimy wysłać ją przez serwer SMTP, który prześle wiadomość do odbiorcy. W .NET klasą, która reprezentuje serwer SMTP jest klasa SmtpClient. Aby wysłać wiadomość wywołujemy SmtpClient.Send. Najczęściej wysyłanie wiadomości jest tak proste jak w poniższym przykładzie(gdzie smtp.contoso.com jest nazwą lokalnego serwera SMTP): 1: MailMessage m = new MailMessage 2: ("[email protected]", 3:"[email protected]", 4:"Quarterly data report.", 5:"Hello, wo...
Jeden z moich klientów korzysta z systemu Joomla i dodatku VirtueMart (moduł sklepu internetowego). Żeby uprościć jego obsługę pomyślałem nad napisaniem aplikacji do aktualizacji cen pobieranych z jakiegoś źródła. Aplikacja korzysta z DBLinq czyli Linq Provider for MySql, Oracle and PostgreSQL. Niestety DBLinq nie ma aktualnie żadnej dokumentacji. Za to znalazłem drobne informacje na stronie Primary Objects. Wykorzystałem wersję 0.18 która jest deprecated ponieważ z 0.19 miałem problem z wygenerowaniem...
Bazy danych i XML 5439 dni, 17 godzin, 15 minut temu 66 źrodło rozwiń
Globalizacja to proces tworzenia aplikacji która wspomaga nasz “lokalny” interfejs. Przez lokalny należy rozumieć kulturę wyświetlania liczb, dat czy innych informacji. .NET Framework jest w stanie zrobić większość rzeczy za użytkownika, my jednak musimy zrozumieć jak korzystać z przewidzianych narzędzi. Na przykład w Stanach Zjednoczonych separatorem “miejsc po przecinku” (mówiąc po polsku ;) )jest kropka.Ustawienia kultury Możemy użyć dwóch właściwości do ustawienia kultury z jakiej chcemy skorzystać w...