Fragment notatki:
Języki i paradygmaty
programowania (II)
Wykład IV
Usprawnianie kodu,
bezpieczeństwo i instalacja
Plan wykładu
Standardy programowania
Bezpieczeństwo
Instalacja
Udostępnianie oprogramowania
Współczesne projektowanie oprogramowania
polega w większym stopniu na rozwiązaniach
opartych na komponentach. Komponenty
pochodzą wielu źródeł i nie zawsze znany jest ich
poziom wiarygodności. Zabezpieczanie kodu oraz
łatwość instalowania i aktualizacji aplikacji są
obecnie waŜny miernikiem jej jakości.
Udostępnianie oprogramowania
Kod
Standardy programowania
Bezpieczeństwo
Instalacja
Udostępniany kod
Standardy programowania
Kod
FxCop – narzędzie do
analizy kodu
Standardy programowania
Bezpieczeństwo
Instalacja
Udostępniany kod
Reguły
Programiści tworzący aplikacje na platformę
.NET utworzyli zestaw reguł, które mają słuŜyć
jako wskazówki do pisania kodu na tej
platformie. Narzędzie FxCop analizuje kod pod
kątem tych reguł.
Narzędzie to udostępnia takŜe moŜliwość
wyłączania wskazanych reguł oraz dodawanie
własnych.
Wykorzystanie programu FxCop
Przeanalizujemy
przykładowy kod
programu (program
odwraca znaki w
podanym tekście).
Wykorzystanie programu FxCop
Uruchamiamy Visual Studio Command
Prompt
Wykorzystanie programu FxCop
Po uruchomieniu Visual Studio Command Prompt
ustawiamy (komenda cd) ścieŜkę do katalogu gdzie jest
plik cs, a następnie piszemy komendę:
"C:\Program Files\Microsoft Visual Studio 10.0\Team
Tools\Static Analysis Tools\FxCop\FxCopCmd.exe"
/file:Program.exe /out:plik.txt
Wykorzystanie programu FxCop
Po jej wykonaniu zostanie utworzony plik tekstowy w
formacie xml.
Wynik analizy z programu FxCop
TypeName =
"AssembliesShouldHaveValidStrongNames"
Zestaw powinien być podpisany za pomocą
silnej nazwy, która stanowi klucz
identyfikujący zestaw.
Wynik analizy z programu FxCop
TypeName =
"MarkAssembliesWithAssemblyVersion"
Sugestia dodania atrybutu określającego
wersję:
[assembly: AssemblyVersion(„1.0.0.0”)].
Wynik analizy z programu FxCop
TypeName="ReviewUnusedParameters
Parameter 'args' of
'Program.Main(string[])' is never used.
Informacje o nieuŜywanych parametrach
Tworzenie silnej nazwy
Pierwszy etap tworzenia silnej (mocnej)
nazwy to utworzenie pary kluczy:
publicznego i prywatnego.
W czasie kompilacji klucz prywatny słuŜy do
szyfrowania plików.
Kiedy środowisko uruchomieniowe ładuje
zestaw z silną nazwą następuje odszyfrowanie
za pomocą klucza publicznego znajdującego
się w manifeście.
Bezpieczeństwo
Kod
Bezpieczeństwo CAS i
RBS
Standardy programowania
Bezpieczeństwo
Instalacja
Udostępniany kod
Środowisko CLR
CLR - Common Language Runtime (środowisko
uruchomieniowe wspólnego języka) to środowisko
uruchomieniowe dla platformy .NET, przewidziane
do pracy na wielu systemach operacyjnych i
maszynach.
Środowisko CLR
Środowisko CLR kompiluje i wykonuje zapisany w
standardowym języku pośrednim Microsoft (MSIL)
kod aplikacji zwany kodem zarządzanym,
zapewniając wszystkie podstawowe funkcje
konieczne do działania
(…)
… Microsoft (MSIL)
kod aplikacji zwany kodem zarządzanym,
zapewniając wszystkie podstawowe funkcje
konieczne do działania aplikacji. Podstawowym
elementem CLR jest standardowy zestaw typów
danych, wykorzystywanych przez wszystkie języki
oparte na CLR, a takŜe standardowy format
metadanych, słuŜących do opisu oprogramowania
wykorzystującego te typy danych. CLR zapewnia
takŜe mechanizmy umoŜliwiające pakowanie…
… okna dialogowego,
Bezpieczeństwo CAS - uprawnienia
PrintingPermission — umoŜliwienie dostępu do
drukarek,
EnvironmentPermission — pozwolenie na dostęp
do zmiennych środowiskowych,
RegistryPermission — umoŜliwienie dostępu do
rejestru systemowego komputera,
ReflectionPermission — zezwolenie na dostęp do
metadanych podzespołu,
WebPermission — zezwolenie na nawiązywanie
lub odbieranie połączeń…
…), który
informuje CLR o parametrach takich jak:
toŜsamość twórcy podzespołu (potwierdzoną przez
podpis cyfrowy podzespołu),
toŜsamość podzespołu, reprezentowaną przez silną
nazwę podzespołu,
adres witryny, z której pobrany został podzespół,
dokładny adres URL, z którego pobrany został
podzespół,
strefa, z której pobrany został podzespół. MoŜliwe
strefy to: MyComputer, lokalny intranet, Internet i inne.
Dowód
Podczas ładowania podzespołu, CLR sprawdza
dowód podzespołu, a następnie porównuje
Ŝądane przez podzespół uprawnienia z
uprawnieniami nadawanymi przez zasady
bezpieczeństwa. Podzespół otrzyma wyłącznie
te prawa, których zaŜądał, i które równocześnie
zostały udzielone przez zasady bezpieczeństwa
(część wspólna zbiorów uprawnień Ŝądanych i
nadanych). Jeśli podzespół będzie próbował
wykonać operację, do wykonania…
... zobacz całą notatkę
Komentarze użytkowników (0)