Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałGerwazy Koczwara Został zmieniony 11 lat temu
1
Gliwice 2004 Systemy i Narzędzia Baz Danych z Dostępem Przez Internet Klasyczne ASP cz.2
2
Agenda 1. ODBC 2. OLE DB 3. ADO 3.1 Istota ADO 3.2 Model obiektowy ADO 3.3 Obiekt ADO Connection 3.4 Obiekt ADO Recordset 3.5 Obiekt ADO Command 3.6 Obiekt ADO Parameter 3.7 Obiekt ADO Error 3.8 Obiekt ADO Field
3
Agenda 4. Projekt fizyczny aplikacji 4.1 Interfejs graficzny 4.2 Struktura plików 4.3 Logika biznesowa 5. Wybrane problemy 5.1 Utrzymywanie stanu sesji 5.2 Bezpieczeństwo aplikacji – zarys problemu 6. Wsparcie bezpieczeństwa w IIS 7. Lista kontrolna bezpieczeństwa 8. Przykłady 9. Literatura
4
1 ODBC Open Database Connectivity – interface pozwalający na dostęp aplikacji do danych z różnych systemów bazodanowych (DBMS) Sterowniki ODBC – oprogramowanie pozwalające na współpracę z ODBC OracleAccesDBF ODBC Aplikacja
5
2 OLE DB OLE DB – pozwala na dostęp do danych z różnych źródeł. Oparty na OLE Component Object Model (COM) Universal Data Access (UDA) – model traktujący wszystkie dane jednakowo niezależnie od źródła Microsoft Data Access Components (MDAC) – biblioteka obiektów ADO, OLE DB i ODBC Dostawcy OLE DB – warstwa oprogramowania pozwalająca na wpółpracę z OLE DB Provider=MSDASQL – żródło danych ODBC Provider=MSIDXS – Microsoft Index Server Provider=ADSDSOOBJECT - Active Directory Service Provider=SQLOLEDB – Microsoft SQL Server Provider=MSDAORA – Bazy danych Oracle
6
2 OLE DB OracleAccesDBF OLE DB Aplikacja ODBC Acces SQL Server system plików
7
3.1 Istota ADO ActiveX Data Objects – powszechnie używany model programowania dla dowolnego źródła danych OLE DB. Kolekcja obiektów, które udostępniają atrybuty oraz metody do komunikacji ze źródłem danych Zalety modelu Łatwość użycia Szybki Niskie wymagania pamięciowe Komunikacja z bazami danych przy pomocy OLE DB, możliwa także praca bezpośrednio ze sterownikami ODBC
8
3.2 Model obiektowy ADO Connection Properties Fields Recordset Command Error Property Field Properties Property Parameters Parameter Properties Property Properties Property Errors
9
3.3 Obiekt ADO Connection Connection – to otwarte połączenie ze źródłem danych Właściwości Attributes – właściwości obiektu CommandTimeout – czas oczekiwania na wykonanie komendy w sek. ConnectionString – ciąg znaków wykorzystywany do otwarcia połączenia, serie argumentów argument=wartość ConnectionTimeout – czas oczekiwania na nawiązanie połączenia w s CursorLocation – położenie kursora DefaultDatabase – domyślna daza danych IsolationLevel – poziom izolacji adXactBrowse (adXactReadUncommitted) – odczyt danych nie zatwierdzonych adXactCursorStability (adXactReadCommitted) – odczyt danych zatwierdzonych adXactRepeatableRead – niezmienny odczyt danych, mogą być widoczne nowe rekordy adXactIsolated (adXactSerializable) – izolacja od innych transakcji Mode – uprawnienia do modyfikacji danych
10
3.3 Obiekt ADO Connection Provider – nazwa dostawcy danych State – stan połączenia Version – wersja ADO Metody BeginTrans – rozpoczyna nową transakcję Close – zamyka połączenie CommitTrans – zachowuje zmiany, kończy transakcję, może rozpoczynać nową Execute CommandText, RecordsAffected, Options – wykonuje zapytanie SQL, procedurę zachowaną itp.. Open ConnectionString, UserID, Password, OpenOptions – otwiera źródło danych OpenSchema – informacje o źródle, takie jak tabele itp RollBackTrans – cofa zmiany, kończy transakcję, może rozpoczynać nową Kolekcje Errors – zawiera wszystkie obiekty Error dotyczące obiektu Properties – zawiera wszystkie obiekty Property dotyczące obiektu
11
3.4 Obiekt ADO Recordset Recordset – reprezentuje zbiór rekordów Właściwości AbsolutePosition – położenie bieżącego rekordu ActiveConnection – połączenie z którym związany jest obiekt Recordset BOF – czy rekord jest pierwszym z zbiorze rekordów Bookmark – identyfikuje rekord CacheSize – liczba rekordów buforowana w pamięci CursorLocation – położenie kursora CursorType – typ kursora adOpenForwardOnly – statyczny kursor do przeglądania rekordów w jednym kierunku adOpenKeyset – dynamiczny kursor, nie widać dodawanych oraz usuwanych rekordów adOpenDynamic – dynamiczny kursor, widać wszystkie zmiany adOpenStatic – statyczny kursor AbsolutePage – aktualna strona rekordów EditMode – określa stan bieżącego rekordu EOF – czy rekord jest ostatnim w zbiorze rekordów
12
3.4 Obiekt ADO Recordset Filter – wyświetlanie tylko tych rekordów spełniających kryteria LockType – blokowanie rekordów przy modyfikacjach adLockReadOnly – tylko do odczytu adLockPessimistic – pesymistyczne blokowanie adLockOptimistic – optymistyczne blokowanie tylko po wywołaniu metody Update MarshalOptions – zmodyfikowane lub wszystkie dane odsyłane do serwera MaxRecordset – maksymalna liczba zwracanych rekordów PageCount – liczba stron rekordów PageSize – liczba rekordów na stronie RecordCount – liczba rekordów w zbiorze Source – żródło danych State – stan zbioru rekordów Status – status bieżącego rekordu Metody AddNew – tworzy nowy rekord CancelBatch – anulowanie zmian w grupie rekordów
13
3.4 Obiekt ADO Recordset CancelUpdate – anulowanie zmian wprowadzonych w rekordie Clone – duplikat obiektu Recordset Delete – usuwa bieżący rekord Move – przesuwa położenie kursora MoveFirst - przesuwa położenie kursora na pierwszy rekord MoveLast - przesuwa położenie kursora na ostatni rekord MoveNext - przesuwa położenie kursora na następny rekord MovePrevious - przesuwa położenie kursora na poprzedni rekord NextRecordset – otwiera nowy obiekt związany ze złożonym poleceniem Open – otwiera kursor Requery – odświeża dane poprzez ponowne zapytanie Resync – odświeża dane z bazy danych Supports – określa jaką funkcjonalność ma obiekt Update – zapisuje zmiany wprowadzone w rekordzie UpdateBatch – zapisuje zmiany wprowadzone w zbiorze rekordów Kolekcje Fields – zawiera wszystkie obiekty Field dotyczące obiektu Properties – zawiera wszystkie obiekty Property dotyczące obiektu
14
3.5 Obiekt ADO Command Command – służy do zadawania zapytań, operacji masowych Właściwości ActiveConnection - połączenie z którym związany jest obiekt Command CommandText – ciąg znaków z poleceniem CommandTimeout - czas oczekiwania na wykonanie komendy w sek. CommandType – typ polecenia Prepared – określa czy zachować skompilowaną wersję zapytania State – stan obiektu Metody CreateParameter – tworzy obiekt Parameter Execute – wykonuje zapytanie lub procedurę zachowaną Kolekcje Parameters – zawiera wszystkie obiekty Parameter dla obiektu Properties – zawiera wszystkie obiekty Property dla obiektu
15
3.6 Obiekt ADO Parameter Parameter – reprezentuje parametr lub argument przekazywany do obiektu Command Właściwości Attributes – właściwości obiektu Parameter Direction – sposób przekazywania parametrów, we - wy Name – nazwa obiektu Parameter NumericScale – liczba miejsc dziesiętnych w danych liczbowych Precision – całkowita liczba cyfr w danych liczbowych Size – maksymalny rozmiar obiektu Type – typ danych obiektu Value – wartość obiektu Metody AppendChunk – zapisuje dane typu długiego Kolekcje Properties – zawiera wszystkie obiekty Property dla obiektu
16
3.7 Obiekt ADO Error Error – zawiera informacje o błędach dostawcy (nie błędy ADO) Właściwości Description – opis błędu HelpContext – temat pomocy HelpFile – plik pomocy Number – numer błędu Source – nazwa obiektu który spowodował błąd SQLState – kod błędu gdy wykonywana instrukcja SQL
17
3.8 Obiekt ADO Field Field – reprezentuje pole danych rekordu Właściwości ActualSize – długość wartości w polu Attributes – właściwości obiektu Field DefinedSize – długość obiektu Field Name – nazwa obiektu Field NumericScale – liczba miejsc dziesiętnych w danych liczbowych Precision – całkowita liczba cyfr w danych liczbowych OryginalValue – początkowa wartość przed zmianami Type – typ danych obiektu Value – wartość obiektu UnderlyingValue – bieżąca wartość obiektu Metody AppendChunk – zapisuje dane typu długiego GetChunk – odczytuje dane Kolekcje Properties – zawiera wszystkie obiekty Property dla obiektu
18
4 Projekt fizyczny aplikacji Interfejs graficzny Struktura plików Logika biznesowa
19
4.1 Interfejs graficzny Interfejs graficzny Ciekawa, czytelna szata graficzna, zachęcająca użytkownika do odwiedzania systemu Przejrzystość i spójność interfejsu użytkownika powinna ułatwiać proces uczenia się obsługi systemu Łatwy dostęp do wszystkich funkcji oraz wygodne nawigowanie między stronami przy użyciu odnośników na stronach
20
4.2 Struktura plików Architektura plików Strona główna, zarządzająca wyglądem poprzez wywoływanie skryptów wyświetlających odpowiednie elementy strony, umożliwia dynamiczne zmiany w wyglądzie stron Ukryta struktura plików zwiększa bezpieczeństwo Łatwa administracja oraz późniejsze modyfikacje interfejsu użytkownika, elastyczne i proste do realizacji zmiany
21
4.3 Logika biznesowa Logika biznesowa – komponent ActiveX Nacisk na programowanie obiektowe zapewniające wygodę programowania Odizolowanie logiki biznesowej od warstwy związanej z wyglądem interfejsu co zapewnia łatwe modyfikowanie systemu Ukrycie struktury bazy danych i jej szczegółów implementacyjnych, co zwiększa bezpieczeństwo oraz zapewnia łatwe zmiany dotyczące bazy danych Kontrola uprawnień oraz ustawień poprzez wyodrębniony obiekt w jednym miejscu Spójna i jednolita kontrola błędów przez silnik bazy danych Zwiększona szybkość wykonywania przez skompilowany obiekt w porównaniu z interpretowanymi skryptami
22
4.3 Logika biznesowa dim Sesja, ZalogowanyUzytkownik, CiekaweLinki, Link, i set Sesja=CreateObject("Engine.Sesja") Sesja.NumerSesji=Session.SessionID Set ZalogowanyUzytkownik=Sesja.ZalogowanyUzytkownik Set CiekaweLinki = Sesja.CiekaweLinki For i = 1 To CiekaweLinki.Ilosc set Link=CiekaweLinki(i) Response.Write Link.URL Response.Write Link.Opis set Link=nothing Next if ZalogowanyUzytkownik.Prawa.Prawo("UprWRLinki") then Response.Write "Masz uprawnienia do modyfikacji linków" Set CiekaweLinki = Nothing set ZalogowanyUzytkownik=nothing set Sesja=nothing
23
5 Wybrane problemy Utrzymywanie stanu sesji Bezpieczeństwo aplikacji - uprawnienia użytkowników
24
5.1 Utrzymywanie stanu sesji Problem konwersacji internetowej i identyfikacji użytkownika Rozwiązania Modyfikacja URL Pola ukryte formularzy Pliki Cookie Sesja po stronie serwera Własne rozwiązania sesji
25
5.2 Bezpieczeństwo aplikacji – zarys problemu Poprawna konfiguracja serwera od strony bezpieczeństwa Poprawna budowa szkieletu aplikacji od strony bezpieczeństwa Uprawnienia użytkowników Sztywny podział na użytkowników oraz ich uprawnienia Uprawnienia elastyczne na poziomie funkcji
26
6 Wsparcie bezpieczeństwa w IIS Uwierzytelnianie Uwierzytelnianie anonimowe – publiczny dostęp, mapowanie na konto IUSR_nazwakomputera, uprawnienia wynikające z NTFS Uwierzytelniania podstawowe – część specyfikacji HTTP, logowanie na konto systemu Windows, hasło i użytkownik czystym tekstem przesyłani Uwierzytelnianie skrócone – część specyfikacji HTTP 1.1, logowanie na konto systemu Windows, hasło i użytkownik przed przesłaniem podlega mieszaniu i skróceniu Zintegrowane uwierzytelnianie systemu Windows – protokół uwierzytelniania Kerberos v5, identyfikacja użytkownika na podstawie logowania lokalnego, może być także monit o hasło Uwierzytelniania certyfikatów – mapowanie certyfikatów klientów na konta systemu Windows
27
6 Wsparcie bezpieczeństwa w IIS Klient zgłasza żądanie dostępu do zasobów Jeśli serwer jest tak skonfigurowany, przeglądarka żąda informacji uwierzytelniających Sprawdzana jest ważność konta użytkownika Sprawdzane uprawnienia serwera sieci WEB Odczyt Zapis Dostęp do źródła danych Przeglądanie katalogu Sprawdzane uprawnienia NTFS Dostęp do zasobu
28
7 Lista kontrolna System plików NTFS - System plików NTFS jest bezpieczny Kontrola dostępu do konta IUSR_nazwakomputera - ograniczysz dostęp, jaki anonimowi użytkownicy mają do twojego komputera Pliki wykonywalne w oddzielnym katalogu - łatwiej przypisać do nich uprawnienia dostępu i inspekcjonowanie Konta użytkowników Skomplikowane hasła - Hasła są trudniejsze do odgadnięcia, jeśli składają się z dużych i małych liter, cyfr i znaków specjalnych Ścisłą kontrola nad organizacją kont - Śledź uważne, jakie uprawnienia dostępu zostały przypisane dla ważnych grup i kont Ilość członków grupy administratorzy - Zwykle ta grupa użytkowników ma pełny dostęp do komputera Hasło dla konta administratora - Ustaw dla tego konta trudne do odgadnięcia hasło, zgodnie z opisanymi wcześniej zasadami.
29
7 Lista kontrolna Usługi i inne zagadnienia Mało usług - Uruchamiaj tylko te usługi, które są absolutnie niezbędne dla twoich potrzeb Inspekcja – można śledzić dostęp do zabezpieczonych plików lub plików o krytycznym znaczeniu oraz zdarzenia serwera Szyfrowana zdalna administracja komputerem - korzystaj z szyfrowania Secured Sockets Layer (SSL) Częste kopie zapasowe ważnych plików i rejestru - Żadne wysiłki związane z bezpieczeństwem nie zagwarantują bezpieczeństwa danych. Kontrolę antywirusowa - narażenie na zainfekowanie wirusami komputerowymi. Stosowanie zabezpieczeń typu firewall Zabezpieczenia Internetowych usług informacyjnych Bezpieczne formy uwierzytelniania – Używaj najbardziej bezpiecznych form uwierzytelniania, jakie mogą obsłużyć klienci Najbardziej restrykcyjne uprawnienia - przypisz tylko uprawnienia Odczyt jeśli tylko to jest konieczne Uprawnienia Zapis, skrypty i pliki wykonywalne Z kombinacji tej korzystać z jak największą ostrożnością
30
8 Przykłady Prosty przykład wykorzystania ADO Proste zapytanie przykład, źródłaprzykładźródła Podział na strony przykład, źródłaprzykładźródła Zawężanie zakresu przykład, źródłaprzykładźródła Odczyt schematu przykład, źródłaprzykładźródła Logika aplikacji zamknięta w ActiveX Prosty przykład przykład, źródła skryptów, źródła logikiprzykładźródła skryptówźródła logiki Przykład przykład, źródła skryptów, źródła logikiprzykładźródła skryptówźródła logiki Inne przykłady Przykład wykorzystania niestandardowego obiektu – kody kreskowe przykład, źródła przykładźródła Edycja HTML – obiekt DHTMLEdit przykład, źródłaprzykładźródła Obiekty typu BLOB w SQL Server przykład, źródłaprzykładźródła
31
9. Literatura http://msdn.microsoft.com - MSDN Microsoft http://msdn.microsoft.com/isapi/msdnlib?theURL=/library/ psdk/iisref/Acomp59f8.htm http://msdn.microsoft.com/isapi/msdnlib?theURL=/library/ psdk/iisref/Acomp59f8.htm - dodatkowe informacje o komponentach ActiveX w IIS http://msdn.microsoft.com/scripting - język Jscript i VBScript http://developer.netscape.com/docs/manuals/js/client/jsref /index.htm http://developer.netscape.com/docs/manuals/js/client/jsref /index.htm - język JavaScript
32
Kontakt Piotr Kuźniacki p.kuzniacki@zti.iinf.polsl.gliwice.pl Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44 101 Gliwice, Polska Dziękuję za uwagę...
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.