Bezpieczestwo skryptów na przykładzie PHP

Wielkość: px
Rozpocząć pokaz od strony:

Download "Bezpieczestwo skryptów na przykładzie PHP"

Transkrypt

1 Bezpieczestwo skryptów na przykładzie PHP Znaczna cz serwerów sieciowych ma obecnie zainstalowany moduł do obsługi PHP. Jest to spowodowane wielk popularnoci tego jzyka wród twórców serwisów internetowych. I cho PHP to nie tylko jzyk do generowania dynamicznych stron WWW, to jednak głównie do tego celu jest wykorzystywany. Niestety, wraz z rozpowszechnieniem si kadej technologii zwiksza si te liczba błdów popełnianych przez jej uytkowników - bardzo wiele witryn tworzonych jest z całkowitym pominiciem zagadnie bezpieczestwa danych oraz systemu. Co wicej - nawet serwisy, podczas tworzenia których pamitano o podstawowych zabezpieczeniach, nie s odporne na bardziej finezyjne ataki hakerów. W opracowaniu przedstawionych zostało kilka najbardziej powszechnych typów błdów majcych wpływ na bezpieczestwo. Przedstawione zostały metody ich wykrywania i usuwania. W tekcie załoono uycie najpopularniejszego chyba zestawu programów: Apache jako serwer WWW, PHP zainstalowany jako moduł i MySql jako serwer bazy danych. 1 Bezpieczestwo plików Jak kady jzyk programowania, PHP dostarcza moliwoci pełnego operowania na systemie plików. Wszystkie wykonywane operacje podlegaj zwykłym ograniczeniom systemu skrypty działaj jako ten sam uytkownik, co Apache (zwykle jest to nobody), wic teoretycznie pliki powinny by w miar bezpieczne. Niestety, uytkownik ten nie ma za duo moliwoci, wic wielu administratorów uruchamia Apache jako root dziki temu mona zapisywa dane do katalogów uytkowników i przeprowadza inne operacje na systemie (równie niepodane np. czyta plik /etc/shadow). Aby zademonstrowa jak szkodliwy moe by tak wysoki poziom zaufania do skryptów przeledmy prosty przykład programu majcego wywietla plik z katalogu uytkownika: <? // zmienne login i plik pobierane s z formularza // wysłanego za pomoc metody POST $login = $_POST['login']; $plik = $_POST['plik']; $dane = file('/home/'.$login. '/'.$plik); while(list($line_num, $line)=each($dane)) echo htmlspecialchars($line). <br>\n ; Niby wszystko jest w porzdku, prawda? (moe poza sprawdzaniem, czy dany plik i katalog istniej, ale nie o to w tym skrypcie chodzi). Jeeli podamy np. jako login lordtedi, a jako plik.signature to zostaje wywietlona sygnatura z pliku /home/lordtedi/.signature. Ale jeli złoliwy uytkownik poda jako login../etc, a jako plik shadow, to zaczyna by nieciekawie. cieka dostpu wyglda wtedy nastpujco: /home/../etc/shadow, czyli właciwie /etc/shadow. Aby zapobiega tego typu atakom naley dokładnie sprawdza wszelkie dane otrzymywane od uytkowników - w tym przypadku wystarczy zmieni lekko skrypt:

2 <? // załómy, e ju zalogowany z prawidłowym loginem Slogin = $_SESSION['login']; $plik = basename($_post['plik']); $dane = file('/home/'. $login. '/'. $plik); while (list ($line_num, $line) = each ($dane)) echo htmlspecialchars($line). "<br>\n"; Polecenie basename z parametru zawierajcego ciek dostpu do pliku zwraca tylko sam jego nazw - wic dokładnie to, o co nam chodzi. Tym razem jeli haker poda nazw pliku../../etc/shadow, to w rzeczywistoci bdzie próbował otworzy plik /home/lordtedi/shadow. Jednake nawet takie rozwizanie nie jest pozbawione wad. Jeli bowiem skrypt jest czci witryny, na której uytkownicy mog sami okrela swoje loginy, wówczas uytkownik moe wybra login..etc, a w takim wypadku, system ponownie zostanie naraony na atak. W takim wypadku moemy si zabezpieczy stosujc wyraenia regularne. Poniej przedstawiony został przykład zastosowania tych wyrae. $login = $_SESSION['login']; // using an authentication mechanisim $homedir = "/home/$login"; if(!ereg('^[^./][^/]*$', $plik)) die('nie prawidlowa nazwa pliku'); if(!ereg('^[^./][^/]*$', $login)) die('nie prawidlowy login'); W najgorszym wypadku pojawi si komunikat o błdzie, ale bezpieczestwo systemu nie bdzie powanie zagroone. Aby jeszcze lepiej si zabezpieczy, naley ustawi open_basedir w pliku konfiguracyjnym - w tym przypadku moe to by nastpujcy cig: /var/www/:/home/ Spowoduje to, e nie bdzie moliwe otwarcie pliku spoza podanych katalogów. Czasami zachodzi konieczno wywołania polecenia systemowego z poziomu PHP. Czsto te jako jeden z argumentów tego polecenia, podaje si dane od uytkownika. Aby zademonstrowa, e beztroskie podejcie moe by katastrofalne w skutkach rozwamy kolejny przykład: <? // czy kolega jest zalogowany? $kumpel - $_POST["login"]: $polecenie = "who ".$kumpel; echo nl2br("$polecenie"): Na pierwszy rzut oka skrypt napisany jest poprawnie. Ale jeli jako login podamy lordtedi rm rf /, to moemy mie kłopoty. W tym przypadku nie trzeba ucieka si do wyrae regularnych wystarcz funkcje escapeshellarg oraz escapeshellcmd. Pierwsza zamyka parametr w apostrofy oraz zabezpiecza istniejce ju wewntrz parametru apostrofy za pomoc znaku backslash - w ten sposób polecenia systemowe potraktuj wynik jako jeden parametr. Druga słuy do zabezpieczenia komend - zabezpieczone zostan znaki, które maj jakie znaczenie dla basha (np.,? czy *). W naszym przypadku poprawiony kod mógłby wyglda nastpujco: <?

3 // czy kolega jest zalogowany? $kumpel = escapeshellarg($_post["login"]); $polecenie - "who ".$kumpel; echo nl2br("$polecenie"); 2 Bazy danych Najczstszym zastosowaniem PHP jest tworzenie dynamicznych stron WWW, np. portali czy forów dyskusyjnych. Niezalenie od zastosowania ma to zwizek z obrabianiem i wywietlaniem duej iloci danych, które zapisane s w bazie danych. Jednym z podstawowych błdów przy współpracy z aplikacjami tego typu jest ustanawianie połczenia jako superuytkownik. Dostp powinien by realizowany przez uytkownika, który ma minimum praw do ingerowania w baz (najlepiej, by nie miał bezporedniego dostpu do tabel, a jedynie do perspektyw - w ten sposób mona całkowicie odseparowa skrypt od samej bazy, a haker nie bdzie mógł nawet pozna nazw tabel, których wartoci mógłby chcie zmodyfikowa. Niestety MySQL nie udostpnia jeszcze takiej funkcjonalnoci). Skoro nie mona uywa perspektyw, trzeba radzi sobie inaczej. Pierwszym stopniem ochrony jest wspomniane ju zrónicowanie uytkowników baz danych. W wikszoci przypadków dokonuje si bowiem jedynie odczytów z bazy (np. wywietlanie tekstu, komentarzy czy wyników wyszukiwania), do rzadk operacj jest zapis (nawet w przypadku aplikacji takich jak forum dyskusyjne, z dowiadcze wynika, e w takich programach jeden zapis przypada na około odczytów). Jest to zrozumiałe ze wzgldu na sam struktur jzyka SQL- najpierw trzeba znale informacj, a dopiero potem mona j zmienia. Mona wic przyj, e zdecydowana wikszo operacji przeprowadzanych na bazie to nic wicej ni tylko zwykły odczyt informacji - czyli dozwolone musi by jedynie polecenie SELECT. Duo rzadziej uywane s polecenia modyfikujce, dodajce czy te usuwajce informacje z bazy danych - mowa tu oczywicie o INSERT, UPDATE i DELETE. Najrzadziej modyfikuje si sam struktur bazy - polecenia CREATE, DROP, INDEX, ALTER. Jak wida dla kadej aplikacji powinno si utworzy co najmniej trzech uytkowników - do odczytu, zapisu i tworzenia bazy. Uprawnie typu reload, shutdown, process, file, grant, references nie powinno si dawa adnemu uytkownikowi - wystarczy, e ma je root. Oczywicie utworzeni uytkownicy nie mog mie uprawnie do czytania bd modyfikacji innych baz i tabel (w szczególnoci bazy mysql\ tabeli user). Jeeli skrypt ma łczy si z baz danych znajdujc si na innym serwerze (w zastosowaniach amatorskich bardzo rzadko spotykane - zwykle zarówno serwer WWW jak i baza danych działa na jednym komputerze) powinno si uywa bezpiecznych połcze szyfrowanych - choby metod SSL - utrudni to ewentualny podsłuch komunikacji aplikacji z baz. W przypadku, gdy intruz uzyska dostp do bazy danych, bdzie mógł przeglda jej zawarto. Dlatego, jeeli w bazie maj by przechowywane cenne informacje, to warto zastanowi si nad zapisywaniem ich w sposób zakodowany. Do tego celu mona uy funkcji PHP z pakietu Mcrypt czy Mhash, a nastpnie zakodowane dane umieci w bazie danych. W takim wypadku intruz majc dostp do bazy nie bdzie miał moliwoci odczytania zakodowanych danych. PHP udostpnia takie polecenia szyfrujce jak: crypt() i md5(). Dla niektórych danych ich posta jawna nie jest potrzebna - przykładem mog by hasła dostpu dla uytkowników. Mona zastosowa tu ten sam schemat postpowania co przy zapisie haseł w pliku /etc/shadow - przechowuje si jedynie zakodowan informacj o hale, która nie moe posłuy do odtworzenia go (tzw. hash):

4 <? // jak zawsze zakładamy istnienie jakiego formularza, // od którego otrzymujemy interesujce nas dane $haslo = $_POST['haslo']; $login = $_POST['login']; $sprawdzenie_t = sprintf("select * FROM uzytkownicy WHERE login='%s' AND haslo='%s'", addslashes($login), md5($haslo)); $sprawdzenie_q = mysql_query($sprawdzenie_t, $polaczenie_odczyt); if (mysql_num_rows($sprawdzenie_q)!= 1) { echo "Zły login/hasło!<br>\n"; show_login_form($login); die(): } echo "Zostałe zalogowany!<br>\n"; // dodawanie nowego uytkownika do bazy $query = sprintf("insert INTO users(name,pwd) VALUES('%s','%s');", addslashes($username), md5($password)); $result = pg_exec($connection, $query); } Kiedy ju wiemy, jak powinno si postpowa zobaczmy co moe si sta, gdy nie przykłada si naleytej ostronoci do spraw bezpieczestwa. Bardzo czsto twórca serwisu nie sprawdza danych otrzymanych od uytkowników, czsto te surowa forma danych zostaje wpisana do zapytania SQL. W takich przypadkach haker moe dosta si do informacji, do których nie powinien nigdy mie dostpu. W ekstremalnych przypadkach bdzie mógł nawet zmieni informacj zapisan w bazie. Poniszy przykład zakłada, e połczenie do bazy jest wykonane przez uytkownika, który ma wystarczajce uprawnienia do wykonania podanych czynnoci (zwykle jest nim root) <? // zakładamy, e uytkownik ju w jaki sposób // zidentyfikował si i znamy jego ID, które zostało // wysłane w formularzu jako ukryte pole o nazwie ID $ID = $_POST["ID"]; $haslol = $_POST["haslol"]; $haslo2 = $_POST["haslo2"]; if (strcmp($haslol, $haslo2)) { echo "Hasła si róni!!!<br>\n"; show_change_password_form($id); die; } $zmien_haslo_t = "UPDATE uzytkownicy SET haslo=".md5($haslol). " WHERE ID = ".$ID; $zmien_haslo_q = mysql_query($zmien_haslo_t);

5 Teoretycznie wszystko działa, zmienione zostaje jedynie hasło uytkownika o właciwym ID. Jeli jednak w pole ID zamiast wartoci liczbowej wpiszemy cig znaków 12 OR 1=1 to zmienimy hasła wszystkich uytkowników (bo suma logiczna naszego warunku i prawdy bdzie zawsze prawd). Teraz wystarczy domyle si jaki login ma administrator systemu - zwykle bdzie to root albo admin (bardzo czsto loginy pojawiaj si przy wpisach, np. na forach dyskusyjnych). W ten sposób nawet bez znajomoci struktury bazy (czyli nazw pól, które przechowuj nazwy uytkowników) mona w łatwy sposób przej kontrol nad systemem. Jak broni si przed tego typu atakami? Po prostu trzeba by całkowitym paranoikiem i sprawdza kad informacj od klienta. 3 Utajnianie danych dostpu do bazy Jeli korzystamy z bazy danych, to nasza aplikacja musi mie dostp do danych umoliwiajcych dostp do bazy, czyli do takich danych jak: adres serwera bazy danych, nazwa uytkownika, hasło uytkownika. Pojawia si tu problem bezpiecznego przechowywania tyche danych. Przechowywanie ich w postaci jawnej w kodzie PHP nie jest najbezpieczniejszym rozwizaniem. Oto przykładowe metody przekazania danych dostpu: 1. w pliku konfiguracyjnym w postaci jawnej 2. dane wprowadzane z formularza 3. dane szyfrowane tu pojawia si kolejny problem - bezpiecznego przechowywania klucza szyfrowania: 3.1 klucz zapisany w pliku konfiguracyjnym 3.2 klucz zapisany w httpd.conf, powizanie wartoci klucza z lokalizacj skryptu Poniej przedstawiony został przykład ustawienia klucza w pliku httpd.conf: <VirtualHost ServerName DocumentRoot /home/przyklad.com/public_html <Directory /home/przyklad.com/ > php_admin_value safe_mode 1 php_admin_value open_basedir /home/przyklad.com/ php_admin_value disable_functions KLUCZ_1234_SZYFRUJACY </Directory> (...) </VirtualHost> Wane jest, eby plik konfiguracyjny nie miał praw czytania dla innych osób ni administrator: /usr/local/apache/conf/httpd.conf root.root drwx /usr/local/apache/conf root.root drwx Do przekazania klucza wykorzystalimy opcj 'disable_functions'. W skrypcie PHP odczytujemy klucz poprzez wywołanie nastpujcego kodu: $key = ini_get( disable_functions ); // $key -> otrzymamy KLUCZ_1234_SZYFRUJACY $user='nazwazakodowana'; $pass='haslozakodowane'; $dbname='baza1'; $dbuser=dekoduj($user,$klucz);

6 $dbpass=dekoduj($pass,$klucz); Otrzymany klucz ma t własno, e jest dostpny tylko w danej lokalizacji na dysku. Jeli skrypt przeniesiemy do innego miejsca, to klucz nie bdzie dostpny. Dziki temu moemy go uy do zakodowania danych dostpu do bazy, a take do kodowania innych wanych informacji. Mona te uy uproszczonej wersji przekazania danych dostpu, wykorzystujc dodatkowo opcj disable_class (bez kodowania). W takim wypadku konfiguracja pliku httpd.conf (VirtualHost) moe wyglda nastpujco: php_admin_value disable_functions admin php_admin_value disable_class Jak widzimy w opcjach przechowywane s: - login dostpu do bazy w opcji disable_functions, - haslo dostpu do bazy w opcji disable_class. Uycie opcji moe wyglda nastpujco: $dbname='baza1'; $dbuser=ini_get('disable_functions'); $dbpass=ini_get('disable_class'); 4 Dane od uytkowników Jak ju zostało wspomniane wczeniej, wikszo błdów spowodowanych jest niewystarczajc kontrol danych otrzymywanych od klientów. Istnieje wiele serwisów, które po wpisaniu niestandardowych wartoci do formularzy potrafi w bardzo efektowny sposób sypn seri komunikatów o błdach. Przykładem niech bdzie prosty skrypt majcy wywietla utwory muzyczne danego typu, który otrzymuje informacje z pola wyboru o nazwie typ (moliwe opcje to metal, disco, blues, techno, rave i dance). <? $znajdz_mptrojki_t = "SELECT * FROM empetrzy WHERE typ = ". $_POST[ typ ]." ORDER BY autor, tytul"; $znajdz_mptrojki_q = mysql_query($znajdz_mptrojki_q); $ile = mysql_num_rows($znajdz_mptrojki_q); for ($i =0; $i < $ile; $i++) { $mptrzy = mysql_fetch_array($znajdz_mptrojki_q); echo $mptrzy["autor"]." - ".$mptrzy["tytul"]."<br>\n"; } Autor skryptu załoył, e uytkownik nie bdzie próbował przechytrzy skryptu -jeeli poda si jaki dziwny cig znaków na przykład 'cokolwiek, do wysypania bazy danych, to zobaczymy komunikat podobny do poniszego: Warning: mysql_num_rows(): supplied argument is not a valid MySql result resource in /index.php on lin 36

7 Zauwamy, e w podanym tekcie jest apostrof, który zamyka tekst otwarty w zapytaniu. Tekst za nim jest traktowany jako polecenie SQL i dlatego pojawia si błd. Dziki komunikatowi o błdzie wiadomo, e aplikacja uywa MySQL, a wiedza ta znacznie ułatwia włamanie. Przypomnijmy sobie wczeniejszy przykład, w którym nie sprawdzano, czy skrypt otrzymuje prawidłow warto liczbow jako ID uytkownika. Aby zabezpieczy si wystarczy zmieni form zapytania na: $zmien_haslo t = sprintf("update uzytkownicy SET haslo = '%s' WHERE ID=%d", md5($haslol), $ID); Niestety, nie zapobiega to zmianie hasła innego uytkownika (a mona z duym prawdopodobiestwem załoy, e administrator bdzie miał ID równy O bd 1). Lepszym rozwizaniem jest wic przechowywanie tego typu danych po stronie serwera za pomoc sesji. Haker moe zmienia wszystko, co od uytkownika otrzymuje serwer. Najłatwiej zmieni dane przekazywane metod GET, druga w kolejnoci jest metoda POST, a teoretycznie najtrudniej zmienia si dane przekazywane przez ciasteczka (cho nowsze przegldarki udostpniaj słuce do tego narzdzia). Z tego powodu sprawdza trzeba wszystko - w poprzednim przykładzie wystarczyło rzutowa dane na typ integer, czasami jednak funkcjonalno dostarczana przez sprintf nie wystarcza. Gdy zapisujemy login do bazy danych zaley nam na tym, by nie zawierał w sobie spacji czy innych podejrzanych znaczków - wtedy naley uciec si do wyrae regularnych: <? if (!ereg("^[a-za-z_][a-za-zo-9_]*$", $login)) { echo "Nieprawidłowy login!!!<br>\n"; show_newuser_form(""); die; } W tym przypadku pole login musi zaczyna si od litery lub znaku podkrelenia, po której mog wystpi litery, cyfry i znak podkrelenia. Do zamiany cigu tekstowego na liczby nie powinno si stosowa funkcji intval oraz floatval - zwłaszcza tej drugiej, bo zezwala ona na napisy typu 1e14, a niestety baza danych niekoniecznie musi zrozumie informacje zapisane w taki sposób. Zamiast tego lepiej uy sprintf z parametrem %f. Czstym przypadkiem jest lepa wiara w dane sprawdzane po stronie klienta przez JavaScript. Jeeli znajdziemy witryn, na której dane sprawdzane s w przegldarce po stronie klienta mona z duym prawdopodobiestwem podejrzewa, e takiej kontroli nie ma na serwerze. Wystarczy wic wyłczy obsług JavaScriptu w przegldarce (lub rcznie napisa odpowiedni URL), by zobaczy reakcj programu na nieprawidłowe dane. Naley sprawdza poprawno wszystkich danych przekazywanych przez uytkownika. W szczególnoci zmienne, które s wykorzystywane do okrelania plików np. wykorzystywane w include, require, czy odczytania zawartoci pliku np. w fopen itp. W przypadku, gdy strona zawiera nastpujcy kod include_once($dir.'/lib/funkcja.php');

8 moliwe jest wywołanie strony z parametrem dir= przez co otrzymamy działanie identyczne do kodu include_once(' Spowoduje to wykonanie kodu znajdujcego si na serwerze a nie kodu, który miał by wykonany. Jak przetestowa swój własny program? Najpierw naley spróbowa wpisywania dziwnych danych do zmiennych przekazywanych na serwer. Szczególnie warto sprawdzi jak system zareaguje na zmienione wartoci ukrytych pól formularza - czsto zakłada si, e zawieraj one poprawne informacje, bo zostały ju sprawdzone w poprzednim kroku działania skryptu. Kolejnym krokiem jest zbadanie reakcji programu na brak pewnych informacji - np. usunicie pola wyboru lub ukrytego pola formularza (szczególnie dotyczy to pól, które maj jak warto domyln). Bardzo czsto zmiany takie spowoduj reakcj systemu - czasami komunikat bdzie zawierał cenne informacje, jak na przykład nazwa pola w bazie, do którego próbowano wpisa nieprawidłow informacj. Po kilku tego typu próbach bdziemy dysponowa wystarczajcymi informacjami o strukturze systemu, by spróbowa przemyci swoje polecenia. 5 Pliki konfiguracyjne Naley pamita, aby wane pliki konfiguracyjne, biblioteki itp. umieszcza poza głównym katalogiem strony (wskazywanym przez DocumentRoot). Przykładowo, jeli DocumentRoot dla domeny wskazuje na /home/przyklad.com/public_html to nasze biblioteki i pliki konfiguracyjne powinnimy umieci poza tym katalogiem np. w: /home/przyklad.com/lib /home/przyklad.com/config a nie w /home/przyklad.com/public_html/lib /home/przyklad.com/public_html/config Bardzo czsto pliki konfiguracyjne maj rozszerzenie '.inc'. W takim wypadku, jeli nasz plik z konfiguracj znajduje si w podkatalogu DocumentRoot to wystarczy wywoła adres: eby otrzyma na stronie WWW pełne dane konfiguracyjne np. dane dostpu do bazy danych: $dbname='baza1'; $dnuser='admin'; $dbpass='12345';...

9 Moesz uywa dowolnego rozszerzenia dla skryptów PHP. Wszystkie rozszerzenia jakich uywasz do skryptów PHP i plików dołczanych powinny zosta dołczone do konfiguracji serwera WWW. Na przykład, jeeli uywasz rozszerze php i inc do oznaczania skryptów PHP i plików dołczanych, powiniene si upewni, e serwer WWW został tak skonfigurowany, e bdzie traktował oba te rozszerzenia jako pliki PHP i przetwarzał je przed wysłaniem do przegldarki uytkownika. Jeeli nie zrobisz tego, uytkownik moe zapisa twoje skrypty. Rozwamy przykład, w którym do głównego pliku, securityhole.phtml, dołczany jest plik bogus.inc. Dołczany plik zawiera dane na temat połczenia z baz danych, w tym nazw uytkownika i hasło. Zawiera on równie błd syntaktyczny. Gdy otwarty zostanie plik securityhole.phtml, wywietlony zostanie błd: Parse error: parse error in bogus.inc on line 12. Dociekliwy uytkownik moe spróbowa obejrze plik bogus.inc wpisujc odpowiedni URL w pasku adresu. Jeeli serwer WWW jest skonfigurowany tak, aby traktowa pliki.inc jako tekst (tak jak mój), cały tekst pliku pojawi si w przegldarce. Jeeli serwer WWW jest tak skonfigurowany, aby traktowa pliki.inc jak kady inny skrypt PHP, uytkownik zobaczy jedynie wczeniej wspomniany komunikat błdu. Podsumowujc. W trakcie tworzenia aplikacji PHP moesz uy dowolnego rozszerzenia, ale aby unikn potencjalnego zagroenia bezpieczestwa naley tak skonfigurowa serwer WWW, aby analizował wszystkie pliki posiadajce uywane przez ciebie rozszerzenia. 6 Zmienne globalne Naley zrezygnowa z rejestrowania danych otrzymywanych od klienta jako zmiennych globalnych. W tym celu naley ustawi opcj register_globals=off. Mona tego dokona na kilka sposobów: a) globalnie dla wszystkich skryptów, poprzez plik php.ini dodajc lini register_globals=off b) dla danej domeny, modyfikujc plik httpd.conf np. w <VirtualHost...></VirtualHost> php_admin_value register_globals 0 c) dla poszczególnych katalogów/podkatalogów, poprzez zmian wpisu w.htaccess php_flag register_globals 0 Wyłczenie register_globals eliminuje wiele popularnych ataków na aplikacje napisane w PHP. Poniej przedstawiono przykład wykorzystania słaboci register_globals=on, w przypadku, gdy hasło od uytkownika sprawdzane jest za pomoc nastpujcego kodu: if ($password == '12345') $auth=1;... if ($auth==1) print 'tajny kod'; Wystarczy teraz wywoła skrypt z parametrem $auth=1, eby otrzyma 'tajny kod': Jeli nie jest moliwe ustawienie opcji register_globals=off (np. gdy program z t opcj przestaje działa), to powinnimy zawsze definiowa wartoci dla zmiennych nie

10 przekazywanych przez uytkownika. Dla poprzedniego przykładu moe to by zrealizowane poprzez nastpujc modyfikacj kod: $auth=0; if ($password == '12345') $auth=1;... if ($auth==1) print 'tajny kod'; 7 Sesje W poprzednim rozdziale mówilimy, e nigdy nie powinno si ufa informacjom od klienta. Niestety, powoduje to sytuacj, gdy wiksza cz kodu zajmuje si wielokrotnym badaniem otrzymywanych danych (bo s one zapisywane u klienta, czy to jako ciasteczka, czy te w postaci ukrytych pól formularza). Na szczcie od czwartej wersji PHP mamy inny sposób zapewnienia sobie bezpieczestwa - s to sesje, czyli moliwo zapisania pewnych informacji po stronie serwera. Dziki temu po jednorazowym sprawdzeniu poprawnoci informacji przechowujemy je u siebie, a do klienta wysyła si tylko unikalny identyfikator sesji. Rozwizanie to ma jeszcze inne plusy - na przykład znaczne zmniejszenie ruchu na łczach komunikacyjnych. Jak kada technologia, równie sesje nios ze sob kolejne zagroenia bezpieczestwa. Jeeli identyfikuje si klienta jedynie po numerze sesji, to haker moe próbowa generowa takie numery i na podstawie reakcji systemu sprawdza, czy trafił na aktywn sesj. Nie jest to wcale trudne na popularnych serwerach, gdzie jest naraz kilka tysicy otwartych sesji; tym bardziej, e sesje nie zostaj usuwane od razu po zamkniciu przegldarki - kasowaniem ich zajmuje si specjalny algorytm probablilistyczny. Innym sposobem na nieumylne włamanie si do czyjej sesji moe by dodanie do zakładek URL-a z dołczonym identyfikatorem sesji (moliwe przy propagacji tych numerków przez adresy). Wtedy po jakim czasie, po wejciu do sklepu internetowego mona zobaczy, e w koszyku mamy jakie dziwne zakupy, albo nawet dokona zamówienia na czyje konto. Jak zapobiega takim sytuacjom? Najłatwiej jest zapisa w sesji dodatkow informacj identyfikujc klienta np. numer jego IP. Wtedy mona sprawdzi, czy to on otworzył sesj o danym numerze i jeeli nie wystpuje zgodno wygenerowa now sesj do obsługi tego klienta. Czasami jednak i to nie wystarczy. Łatwo wyobrazi sobie sytuacj, gdy pewna gra stała si popularna wród osób z jednej sieci osiedlowej stojcej za maskarad. Dla serwera wszyscy ci gracze maj ten sam IP i niestety moe si zdarzy pomylenie sesji. Aby zapobiec takiej moliwoci mona doda do ciasteczka jeszcze jedn informacj -jak losowo wygenerowan liczb, któr zapisujemy równie w sesji. W tym wypadku sprawdzamy nie tylko zgodno IP, ale te czy oba numerki (z sesji i ciasteczka) s sobie równe. W ten sposób niemal całkowicie wykluczamy tego rodzaju błdy. Oczywicie metoda zawodzi, gdy kto ze wspomnianej sieci osiedlowej umylnie chce si poda za innego gracza - wystarczy wtedy podsłucha jaki numerek ma dana osoba i wysła odpowiednio spreparowane ciasteczko. 8 Upload plików Jedn z ciekawszych i bardziej niebezpiecznych cech PHP jest moliwo uploadu plików na serwer (np. własnych plików mp3, czy te zdj do opisujcych licytowany przedmiot na aukcji). Zadziwiajce jest to, e pomimo i niewiele serwisów korzysta z tej funkcji,

11 to na wikszoci z nich nie jest ona wyłczona. Przy ładowaniu kadej ze stron mona podrzuci odpowiednio spreparowane nagłówki, by serwer zaczł przyjmowa dane od klienta. Na szczcie po zakoczeniu działania skryptu cignite pliki zostaj usunite i nie zajmuj miejsca na dysku. W standardowej konfiguracji serwera jest te załoone ograniczenie wielkoci pliku, który moe zosta załadowany - domylnie s to dwa megabajty. Pozostawienie moliwoci zapisywania plików moe zosta uyte do przeprowadzenia ataku typu Denial Of Service. Wielokrotne i bardzo czste odczyty strony powoduj, e serwer staje si mocno obciony, ale pozostawiaj te widoczne lady w logach. Jeeli za zaczniemy wysyła na serwer bardzo długie pliki (albo te, gdy bdziemy je powoli sczy), to kilkanacie takich procesów potrafi dokładnie zablokowa serwer, a lad bdzie trudniejszy do wytropienia-w logach wida tylko jedno połczenie typu POST. Najlepiej, gdy dana strona ma w sobie formularz - wtedy unika si wszelkich podejrze. Jeeli dopuszcza si dostarczanie jakichkolwiek danych do aplikacji, naley bra pod uwag kad ewentualno. Jeeli zezwala si na przesyłanie plików to trzeba mie pewno, e pliki te zostan właciwie obsłuone na serwerze. Na przykład, jeeli tworzymy witryn do której programici mog przesyła własne skrypty nie naley pozwala na wykonywanie tych skryptów na serwerze. Mona je jedynie odebra i wywietli w postaci czystego tekstu i nie mona zakłada, e mona je bezpiecznie uruchomi. Nawet pozwolenie na wywietlenie przesłanych plików niesie ze sob potencjalne zagroenie. 9 Ataki typu XSS Ataki typu cross site scripting polegaj na przemyceniu kodu JavaScript lub VBScript do przegldarki uytkownika, odwiedzajcego dana stron. Pozwala to na ujawnienie danych zapisanych w ciasteczkach, co w wielu przypadkach umoliwia podszywanie si pod zarejestrowanego i zalogowanego uytkownika. Kod złego skryptu moe by przekazany np. przez forum na stronie, czy w postaci URLa wysłanego do uytkownika. Zapobieganie polega na filtrowaniu zmiennych przekazywanych przez uytkownika do kadego skryptu, tak aby niemoliwe było przesłanie jakiegokolwiek kodu HTML.W PHP jest to moliwe za pomoc funkcji strip_tags(). Oto przykład podatnego skryptu PHP: echo $zmienna; oraz sposób wykorzystania: test );</script> Po wywołaniu powyszego odnonika, przegldarka uytkownika wykona załczony fragment kodu JavaScript, co spowoduje otwarcie okienka z napisem test. Poprawiony fragment kodu powinien wyglda nastpujco: echo strip_tags($zmienna); 10 Ataki typu SQL injection Dotycz one aplikacji korzystajcych z baz danych i przyjmujcych dane wejciowe od uytkownika. Polegaj na moliwoci przemycenia czci zapytania SQL jako argumentu do innego zapytania SQL. Pozwalaj na ujawnienie danych z bazy, nadpisanie danych, czasami take na ich usuniecie, lub nawet na wywołanie polece systemowych. Wielu twórców serwisów jest niewiadomych tego typu zagroenia uznajc komendy SQL za bezpieczne.

12 Ataki tego typu s niebezpieczne ze wzgldu na moliwo manipulacji zapytaniami SQL, a w konsekwencji nieautoryzowanym dostpem do bazy. Zapobieganie polega na filtrowaniu przekazywanych przez uytkownika zmiennych, w PHP słuy do tego funkcja addslashes(), wstawiajca ukonik przed kady potencjalnie niebezpieczny znak. Oto przykład podatnego skryptu PHP: mysql query("select * FROM tabela WHERE id= $zmienna "); W powyszym przykładzie $zmienna dostarczana jest przez uytkownika z zewntrz. Moe on zastosowa ponisze zapytanie, aby spowodowa wywietlenie wszystkich rekordów z bazy: 1 OR 1; Poprawnie napisany fragment kodu powinien wyglda nastpujco: $zmienna_ok = addslashes($zmienna); mysql_query("select * FROM tabela WHERE id= $zmienna_ok "); Moemy wyobrazi sobie inny przykład skryptu, który przekazuje za pomoc adresu URL offset (w postaci liczbowej) wywietlanych wyników na stronie. Kod obsługujcy wybieranie danych z bazy mógłby wyglda nastpujco $offset = argv[0]; // uwaga: brak sprawdzenia poprawnoci danej $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;"; $result = mysql_query($query); Skrypt działa poprawnie, gdy utworzony wczeniej adres URL zawiera poprawn warto zmiennej $offset. Mona jednak wyobrazi sobie sytuacje, w której do skryptu przekazywana jest zmienna $offset, która zawiera nastpujc warto: 0; UPDATE user SET Password=PASSWORD('crack') WHERE user='root'; FLUSH PRIVILEGES; PHP udostpnia funkcje ułatwiajce obron przed opisanymi powyej atakami zwizane z modyfikacj zapyta SQL. Za pomoc funkcji addslashes() przekształcamy łacuch wejciowy w taki sposób, aby wszystkie niebezpieczne znaki mogce mie wpływ na działanie zapytania SQL, wystpujce w łacuchu zostały poprzedzone znakiem backslash (\). Wspomniane niebezpieczne znaki to: pojedynczy cudzysłów ('), podwójny cudzysłów ("), backslash (\), znak NULL. Przykład działania funkcji addslashes(): $str = "Is your name O'reilly?"; // Outputs: Is your name O\'reilly? echo addslashes($str);

13 Ponadto mona tak skonfigurowa PHP, aby wszystkie dane pochodzce od uytkownika były automatycznie poddawane działaniu funkcji addslashes(). Aby skonfigurowa PHP w ten sposób naley przypisa w pliku konfiguracyjnym PHP zmiennej magic_quotes_gpc warto on (taka warto jest przypisana domylnie). Podsumowujc zagroenia zwizane z obsług bazy danych za pomoc PHP mona wymieni czynnoci, zwikszajce bezpieczestwo skryptów: - łczenie z baz danych powinno odbywa si przez uytkownika, który dysponuje ograniczonymi prawami dostpu do bazy; nigdy nie powinien to by uytkownik root; - kade dane wejciowe powinny by poddane weryfikacji; PHP udostpnia wielu funkcji słucych do okrelania formatu danych, takich jak: is_numeric(), is_long(), ctype_digit() itp. Dostpne s równie funkcje wyrae regularnych; - jeli skrypt oczekuje na warto numeryczn, to naley sprawdzi otrzyman warto pod wzgldem jej poprawnoci (nawet jeli pochodzi ona z ukrytego pola formularza, pola combo itp.). Mona tego dokona poprzez sprawdzenie za pomoc funkcji is_numeric(), poprzez zmian typu zmiennej settype(), bd te uy do tworzenia zapytania SQL funkcji sprintf(), tak jak to przedstawiono poniej settype($offset, 'integer'); $query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;"; // uyto w formacie %d; uycie %s jest bezzasadne $query = sprintf("select id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;", $offset); - uywanie funkcji addslashes() do zmiennych uyskanych od uytkownika; - nie wywietlania adnych informacji mogcych ujawni struktur bazy danych. 11 Niebezpieczne funkcje i znaki Stosowanie niektórych funkcji w PHP z argumentami pobranymi od uytkownika moe spowodowa due zagroenie bezpieczestwa skryptu. Przykładami takich funkcji s: - system() uytkownik moe wywoła dowolna komend systemowa uywajc metaznaków powłoki (rednik, cudzysłowy); przykład: system("/sbin/ping $host"); uytkownik moe podłoy łacuch ;rm -rf /var/www; nie naley przekazywa niefiltrowanych zmiennych uytkownika do wntrza funkcji system(). - open() uytkownik moe otworzy lub zapisa dowolny plik, a take wykona dowolna komend systemowa (przy pomocy znaku ); przykład: open(fh "/home/venglin/$plik"); - uytkownik moe podłoy łacuch../../etc/passwd; nie naley przekazywa niefiltrowanych zmiennych uytkownika do wntrza funkcji open(). - eval() uytkownik moe wykona dowolny fragment kodu w PHP; nie naley przekazywa niefiltrowanych zmiennych uytkownika do wntrza konstrukcji eval(). Moliwo obrony przed tego typu atakami jest ułatwiona ze wzgldu na obecno gotowych funkcji realizujcych typowe operacje na niebezpiecznych łacuchach: addslashes() dodaje odwrotny ukonik przed znakami cudzysłowów, odwrotnego ukonika i znaku NULL; escapeshellcmd() niweluje działanie wszystkich metaznaków powłoki.

14 12 SSL Pierwszorzdn kwesti przy tworzeniu aplikacji przeznaczonych do handlu elektronicznego jest zagadnienie bezpieczestwa. Ju w czasie projektowania aplikacji naley mie na uwadze ochron danych o klientach. Naley wykona kilka kroków w celu zapewnienia moliwie najwyszego poziomu bezpieczestwa. Nie naley tego traktowa jako propozycji, s to zazwyczaj wymagania wikszoci centrów rozliczajcych karty kredytowe. Pierwszym krokiem powinno by wyodrbnienie fragmentów witryny, które wymagaj zastosowania bezpiecznego połczenia za pomoc mechanizmu secure socket layer (SSL). Wikszo aplikacji posiada dwa obszary działania. Pierwszy jest obszarem zawierajcym opisy dostpnych produktów i usług oferowanych na witrynie. W czci tej zawieraj si zwykle strony zawierajce dane o firmie, regulaminy i inne dane nie zwizane bezporednio z handlem. Drugi fragment zawiera aplikacj handlow. W czci tej zbierane s prywatne dane, takie jak dane niezbdne do identyfikacji klienta lub numery kart kredytowych. Uycie PHP z SSL nie róni si niczym do uywania PHP na serwerze nie obsługujcym SSL. 13 Bezpieczny tryb pracy PHP Dua ilo zagroe wystpujcych w PHP moe zosta zniwelowana poprzez włczenie trybu safe mode. Korzystanie z bezpiecznego trybu pracy PHP (safe mode) jest zalecane zawsze, jeli jest to tylko moliwe. W szczególnoci w rodowisku multihostingowym. Najwaniejsz cech safe mode jest nie zezwalanie na dostp plików, których włacicielem jest inny uytkownik, ni właciciel wykonywanego skryptu. Zabezpiecza to nas przed odczytaniem np. pliku /etc/passwd z poziomu WWW naszego uytkownika/klienta. Poza tym safe mode posiada wiele mechanizmów zwikszajcych bezpieczestwo naszych skryptów. Tryb ten pozwala na nastpujce ograniczenia: - sprawdzanie właciciela pliku przy jego otwieraniu; - odmawianie wykonania funkcji z rodziny system(); - odmawianie zmian zmiennych rodowiskowych; - ograniczenie dostpu do plików tylko z wybranego katalogu; - wyłczenie wybranych funkcji. Poniej przedstawiono cz moliwych opcji safe_mode oraz inne wane opcje PHP zwizane z bezpieczestwem: Nazwa Domylna warto Przykładowa warto safe_mode safe_mode_gid safe_mode_include_dir safe_mode_exec_dir safe_mode_allowed_env_vars "0" "0" NULL "" PHP_ 1 1 /home/przyklad.com /home/przyklad.com/bin PHP_, SSL_ safe_mode_protected_env_vars LD_LIBRARY_PATH PATH, LD_LIBRARY_PATH open_basedir disable_functions disable_classes NULL "" "" /home/przyklad.com system, fopen DBClass Opcji safe_mode nie mona ustawi na poziomie katalogów w pliku.htaccess, ale mona je ustawi w pliku php.ini, lub, jeli chcemy ograniczy działanie do poszczególnych domen i katalogów, w httpd.conf.

15 Oprócz opcji safe_mode bardzo przydatna jest opcja open_basedir. Pozwala ona na ogranicznie dostpu do plików do okrelonego katalogu. Np. jeli wstawimy: open_basedir=/home/przyklad.com to nie bdziemy mogli odczyta plików lecych powyej tego katalogu np. /home/test/skrypt.php, /etc/passwd Jeli w systemie mamy włczon opcj open_basedir i safe_mode, to w pierwszej kolejnoci sprawdzane s zabezpieczenia open_basedir, a nastpnie safe_mode (dotyczy np. dostpu do plików). Jeli nie moemy stosowa safe_mode i open_basedir razem, to w pierwszej kolejnoci powinnimy próbowa ustawi safe_mode, w ostatecznoci uywamy samego open_basedir (jeli włczenie safe_mode nie jest moliwe). Poniej przedstawiony został przykład próby odczytania pliku /etc/passwd z poziomu skryptu działajcego w trybie safe_mode i open_basedir Pliki: -rw-rw-r-- 1 rasmus rasmus 33 Jul 1 19:20 scrypt.php -rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd plik skrypt.php uruchomiony w trybie safe_mode i open_basedir <? readfile('/etc/passwd'); Komunikat na stronie (safe_mode=1): Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is not allowed to access /etc/passwd owned by uid 0 in /docroot/scrypt.php... Komunikat na stronie (open_basedir=/home/www/test): Warning: readfile(): open_basedir restriction in effect. File(/etc/passwd) is not within the allowed path(s):(/home/www/test) Ukrywanie błdów Wspomniano wczeniej, e jedn z metod na rozgryzienie skryptu jest wpisywanie niecodziennych danych do formularzy. Wszystko to w nadziei na uzyskanie informacji o błdzie od PHP - na przykład o niezgodnoci typu danych. Majc takie informacje mona próbowa dalej łama kod programu. Aby zabezpieczy si przed tak technik naley wyłczy wywietlanie komunikatów o błdach. Mona to ustawi w php.ini, ale chyba łatwiej (i wygodniej) jest ustawi warto za pomoc funkcji error_reporting na samym pocztku skryptu. Jej jedynym parametrem jest dany poziom informowania o wykrytych błdach. Standardowo jest to (E_ALL ^ E_NOTICE) czyli wywietlone zostan wszystkie komunikaty, które nie maj statusu NOTICE. W domu, na bezpiecznym serwerze, na którym tworzymy nasze skrypty warto mie t warto ustawion na E_ALL. Na komputerze zdalnym lepiej włczy error_reporting(0) -czyli całkowicie wyłczy informacje o błdach. Nie chcemy przecie ułatwia ycia hakerom (szczególnie takim, którzy umiej bawi si formularzami i ich wartociami). Inn, czsto stosowan metod, jest uzalenienie pokazywania błdów od jakich zmiennych - np. $debug, czy podobnych. Hakerzy mog próbowa wykorzysta wbudowany kod do debugowania, np. za pomoc nastpujcego URL-a:

16 index.php?debug=l&show_errors=l&errors=l&at_home=l&show_source=l&zmienna=zl a_wartosc W ten sposób czsto udaje si otrzyma duo informacji o skrypcie (szczególnie, gdy autor zastosował jeszcze polecenia typu show_source() czy highlight_file()). Naley pamita, by usuwa wszelkie mechanizmy debugowania z działajcego kodu - zamiast tego powinno si logowa wszelkie informacje niezbdne do odtworzenia błdu na swoim serwerze. 15 Ukrywanie PHP PHP, jak kady program, zawiera róne błdy, z których cz moe zosta uyta w destruktywnych celach. Nie zawsze ukazuj si łaty na takie pomyłki programistów, a czsto przed poprawk s ju dostpne exploity, które potrafi je wykorzysta. Z tego powodu czsto próbuje si ukry fakt korzystania z PHP na serwerze. W tym celu naley wyłczy dołczanie informacji o PHP i jego wersji do sygnatury serwera. Odpowiada za to dyrektywa expose_php w pliku php.ini. Jeeli jest ona włczona (domylnie), to do strony doklejany jest nastpujcy nagłówek: X-Powered_By: PHP/4.2.3 Wystarczy teraz poszuka jakiego exploita na t wersj PHP i włamanie gotowe. Kolejnym krokiem jest pozbycie si rozszerze typu.php. W tym celu w konfiguracji Apache'a piszemy: AddType application/x-httpd-php.htm.html Od tej pory wszystkie pliki.htm i.html bd parsowane przez PHP. Powoduje to oczywicie spadek szybkoci działania i zwiksza obcienie serwera, ale nie jest to dua rónica (ostatnio i tak znaczca wikszo stron generowana jest dynamicznie). Oczywicie nikt nie da si nabra na tego typu proste działania - wiadomo, e dynamiczne strony musz by przygotowywane w jaki sposób. Jednym z ciekawszych sposobów jest zmylenie ladów jest udawanie innego jzyka programowania, a najlepiej od razu innego systemu, serwera i jzyka skryptowego. Mona skonfigurowa serwer, na którym Debian udaje Windows NT, Apache podaje si za IIS, a PHP oczywicie symuluje ASP. Nawet tak daleko posunita ostrono zda si psu na bud, jeli nasze strony ASP bdzie obsługiwał choby PHP-Nuke, albo jaki inny szeroko znany i rozpoznawany system. Aby takie zdarzenia nie miały miejsca, warto korzysta z informacji dostpnych na domowej stronie php i przygotowa si zawczasu na ewentualne problemy. 16 Podsumowanie W przypadku bezpieczestwa systemu naley pamita, e kady łacuch jest tak mocny, jak jego najsłabsze ogniwo. Na nic si nie zda totalnie zabezpieczony Apache z dokładnie skonfigurowanym PHP i bezpiecznym skryptem, gdy na tym samym systemie zainstalowany bdzie te dziurawy sendmail czy te mod_ssl z błdami. Bezpieczestwo skryptów zaley wic nie tylko od autora stron, ale te od administratora systemu, który pilnowa musi aktualnoci oprogramowania (oraz informowa uytkowników o zmianach).

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

Projektowani Systemów Inf.

Projektowani Systemów Inf. Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych

Bardziej szczegółowo

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Niniejszy opis dotyczy konfiguracji programu pocztowego Outlook Express z pakietu Internet Explorer, pracujcego pod kontrol systemu

Bardziej szczegółowo

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1 Mozilla Firefox 2.0.0.2 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL wersja 1.1 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2. INSTALACJA

Bardziej szczegółowo

Errata. Instalacja sklepu internetowego

Errata. Instalacja sklepu internetowego Errata. Instalacja sklepu internetowego Aplikacja sklepu internetowego została napisana i przetestowana w rodowisku PHP 4 oraz MySQL 4.0. Poniewa jednak na płycie CD-ROM dołczonej do ksiki znajduje si

Bardziej szczegółowo

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver. 2.0. Aplikacja WWW ver. 2.1 Instrukcja Obsługi 1.Wymagania techniczne 1.1. Wymagania sprztowe - minimalne : komputer PC Intel

Bardziej szczegółowo

1. Informacje ogólne.

1. Informacje ogólne. Polityka prywatności (Pliki Cookies) 1. Informacje ogólne. Lęborskie Centrum Kultury Fregata 1. Operatorem Serwisu www.lck-fregata.pl jest L?borskie Centrum Kultury "Fregata" z siedzib? w L?borku (84-300),

Bardziej szczegółowo

Klonowanie MAC adresu oraz TTL

Klonowanie MAC adresu oraz TTL 1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo

Bardziej szczegółowo

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0 Uprawnienia dla uż ytkowników MANIPULACJA UPRAWNIENIAMI Przechodzimy do cześci nadawania oraz odbierania uprawnie ń. Wszelkie zmiany dotyczące tabel w bazie mysql można przeprowadza ć za pomoc ą znanych

Bardziej szczegółowo

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW W przypadku braku stosownego oprogramowania słucego do komunikacji z systemem pocztowym UNET uytkownik ma moliwo skorzystania

Bardziej szczegółowo

Mozilla Thunderbird 1.5.0.10 PL

Mozilla Thunderbird 1.5.0.10 PL Mozilla Thunderbird 1.5.0.10 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Thunderbird 1.5.0.10 PL wersja 1.2 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2.

Bardziej szczegółowo

Instrukcja obsługi dodatku InsERT GT Smart Documents

Instrukcja obsługi dodatku InsERT GT Smart Documents Instrukcja obsługi dodatku InsERT GT Smart Documents InsERT, grudzie 2003 http://www.insert.com.pl/office2003 InsERT GT Smart Documents to przygotowany przez firm InsERT specjalny dodatek, umoliwiajcy

Bardziej szczegółowo

Opera 9.10. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera 9.10. wersja 1.1 UNIZETO TECHNOLOGIES SA

Opera 9.10. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera 9.10. wersja 1.1 UNIZETO TECHNOLOGIES SA Opera 9.10 Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera 9.10 wersja 1.1 Spis treci 1. INSTALACJA WŁASNEGO CERTYFIKATU Z PLIKU *.PFX... 3 2. WYKONYWANIE KOPII BEZPIECZESTWA WŁASNEGO

Bardziej szczegółowo

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych, Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

Baza danych do przechowywania użytkowników

Baza danych do przechowywania użytkowników System logowania i rejestracji jest bardzo przydatną funkcjonalnością na każdej stronie. Umożliwia sprawną identyfikację i zarządzanie użytkownikami. Strona ze skryptem logowania nabiera dużej wartości.

Bardziej szczegółowo

Internetowe bazy danych

Internetowe bazy danych Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 6 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Kontrola dostępu

Bardziej szczegółowo

Wykład 5: PHP: praca z bazą danych MySQL

Wykład 5: PHP: praca z bazą danych MySQL Wykład 5: PHP: praca z bazą danych MySQL Architektura WWW Podstawowa: dwuwarstwowa - klient (przeglądarka) i serwer WWW Rozszerzona: trzywarstwowa - klient (przeglądarka), serwer WWW, serwer bazy danych

Bardziej szczegółowo

PRZYKŁAD ROZWIZANIA ZADANIAZ INFORMATORA DO ETAPU PRAKTYCZNEGO EGZAMINU W ZAWODZIE TECHNIK INFORMATYK

PRZYKŁAD ROZWIZANIA ZADANIAZ INFORMATORA DO ETAPU PRAKTYCZNEGO EGZAMINU W ZAWODZIE TECHNIK INFORMATYK PRZYKŁAD ROZWIZANIA ZADANIAZ INFORMATORA DO ETAPU PRAKTYCZNEGO EGZAMINU W ZAWODZIE TECHNIK INFORMATYK 1. Tytuł pracy egzaminacyjnej Opracowanie projektu realizacji prac prowadzcych do lokalizacji i usunicia

Bardziej szczegółowo

Instalacja programu Sprzeda z motorem. bazy danych Pervasive V8

Instalacja programu Sprzeda z motorem. bazy danych Pervasive V8 Instalacja programu Sprzeda z motorem bazy danych Pervasive V8 1. Z katalogu instalacyjnego programu Pervasive uruchom plik setup.exe. Program instalacyjny w spakowanej wersji jest dostpny na naszym FTP

Bardziej szczegółowo

3. Instalator rozpocznie proces instalacji

3. Instalator rozpocznie proces instalacji Uwaga! Podana instrukcja instalacji została przygotowana w oparciu o pliki instalacyjne SQL 2005 Express pobrany ze strony Microsoftu oraz oddzielny plik Service Pack 2 dedykowany pod SQL Express równie

Bardziej szczegółowo

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1

Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Systemy operacyjne laboratorium 3 Paweł Gmys strona 1 Windows Host Script WSH udostpnia dwa tryby uruchamiania skryptów: tekstowy i graficzny. O sposobie przetwarzania programu moe zadecydowa powłoka systemowa

Bardziej szczegółowo

Uywanie licencji typu On-Demand. Using an On-Demand License Japanese. Language. Contents

Uywanie licencji typu On-Demand. Using an On-Demand License Japanese. Language. Contents Uywanie licencji typu On-Demand Language Using an On-Demand License Japanese Contents Logowanie do konta Altium Dostpne portale Dostpno licencji Tryb licencji On-Demand Roaming Praca bez dostpu do Internetu

Bardziej szczegółowo

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Instrukcja obsługi programu Pilot PS 5rc

Instrukcja obsługi programu Pilot PS 5rc Instrukcja obsługi programu Pilot PS 5rc Spis treci 1.Wprowadzenie....3 2. Wymagania....3 3. Instalacja oprogramowania...3 4. Uruchomienie Programu...5 4.1. Menu główne...5 4.2. Zakładki...6 5. Praca z

Bardziej szczegółowo

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Zastosowanie programu Microsoft Excel do analizy wyników nauczania Grayna Napieralska Zastosowanie programu Microsoft Excel do analizy wyników nauczania Koniecznym i bardzo wanym elementem pracy dydaktycznej nauczyciela jest badanie wyników nauczania. Prawidłow analiz

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Zagrożenia dla aplikacji internetowych Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 15 grudnia 2015 Lista zagadnień Wstrzykiwanie

Bardziej szczegółowo

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego.

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego. Dost p!do!infrastruktury!informatycznej. Instrukcja dla pracowników Uniwersytetu Rzeszowskiego. Wersja dokumentu: 1.0.0 Rzeszów: 23.10.2009 OPTeam S.A. 35-032 Rzeszów, ul. Lisa Kuli 3 INFORMACJA O NOWYCH

Bardziej szczegółowo

Tak wic prawidłowy scenariusz postpowania przy tworzeniu kopii zapasowej danych systemów. wyglda nastpujco:

Tak wic prawidłowy scenariusz postpowania przy tworzeniu kopii zapasowej danych systemów. wyglda nastpujco: 1 / 8 0. Przeznaczenie dokumentu Dokument zawiera informacje na temat strategii, scenariuszy i aspektach technicznych wykonywania kopii zapasowych dla systemów. Cz techniczna opracowania dotyczy: a. w

Bardziej szczegółowo

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents Uywanie licencji typu Standalone Language Japanese Using a Standalone License Contents Logowanie do konta Altium Dostpne portale Dostpno licencji Pierwsza aktywacja Ponowna aktywacja Praca bez dostpu do

Bardziej szczegółowo

Projektowanie bezpiecze stwa sieci

Projektowanie bezpiecze stwa sieci Laboratorium 5. Projektowanie bezpieczestwa sieci Temat: Instalacja i konfiguracja serwera VPN. 1. Przed instalacj odpowiednich ról serwera, na maszynie wirtualnej serwera musimy przygotowa dwie karty

Bardziej szczegółowo

6. Bezpieczeństwo przy współpracy z bazami danych

6. Bezpieczeństwo przy współpracy z bazami danych 6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do Sesje i ciasteczka Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do śledzenia użytkownika podczas jednej sesji

Bardziej szczegółowo

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy

Bardziej szczegółowo

Java Code Signing 1.4 6.0. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.1 UNIZETO TECHNOLOGIES SA

Java Code Signing 1.4 6.0. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.1 UNIZETO TECHNOLOGIES SA Java Code Signing 1.4 6.0 Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java wersja 1.1 Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 2.1. TWORZENIE

Bardziej szczegółowo

Zadania do wykonaj przed przyst!pieniem do pracy:

Zadania do wykonaj przed przyst!pieniem do pracy: wiczenie 3 Tworzenie bazy danych Biblioteka tworzenie kwerend, formularzy Cel wiczenia: Zapoznanie si ze sposobami konstruowania formularzy operujcych na danych z tabel oraz metodami tworzenia kwerend

Bardziej szczegółowo

Twoja instrukcja użytkownika HP PAVILION DV6-1215SA

Twoja instrukcja użytkownika HP PAVILION DV6-1215SA Możesz przeczytać rekomendacje w przewodniku, specyfikacji technicznej lub instrukcji instalacji dla HP PAVILION DV6-1215SA. Znajdziesz odpowiedź na wszystkie pytania w instrukcji dla HP PAVILION DV6-1215SA

Bardziej szczegółowo

Dokumentacja SMS przez FTP

Dokumentacja SMS przez FTP Dokumentacja SMS przez FTP 1 Wprowadzenie... 2 Właściwości plików... 3 Tworzenie konfiguracji w Panelu Klienta... 4 Raporty doręczeń... 5 Historia zmian... 6 2 Wprowadzenie Usługa wysyłki SMS przez FTP

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Najgroźniejsze ataki na serwer WWW Najgroźniejsze ataki na serwer WWW Cross-site scripting (XSS) SQL injection Denial

Bardziej szczegółowo

Krótka instrukcja instalacji

Krótka instrukcja instalacji Krótka instrukcja instalacji Spis treści Krok 1 Pobieranie plików instalacyjnych Krok 2 Ekran powitalny Krok 3 Umowa licencyjna Krok 4 Wybór miejsca instalacji Krok 5 Informacje rejestracyjne Krok 6 Rozpoczęcie

Bardziej szczegółowo

APACHE 2.0 + SSL Linux. Uycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE 2.0 + SSL Linux. wersja 1.1 UNIZETO TECHNOLOGIES SA

APACHE 2.0 + SSL Linux. Uycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE 2.0 + SSL Linux. wersja 1.1 UNIZETO TECHNOLOGIES SA APACHE 2.0 + SSL Linux Uycie certyfikatów niekwalifikowanych w oprogramowaniu APACHE 2.0 + SSL Linux wersja 1.1 Spis treci 1. WSTP... 3 2. TWORZENIE CERTYFIKATU... 3 2.1. GENEROWANIE WNIOSKU O CERTYFIKAT

Bardziej szczegółowo

Systemy operacyjne lab. 6 Paweł Gmys strona 1

Systemy operacyjne lab. 6 Paweł Gmys strona 1 Systemy operacyjne lab. 6 Paweł Gmys strona 1 I Uytkownicy i grupy 1. Proces logowania Rozpoczynajc prac z systemem na komputerze lokalnym Windows 2000 musimy poda w oknie logowania identyfikator uytkownika

Bardziej szczegółowo

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2 1. Instalacja serwera WWW Aby zainstalować serwer WWW w systemie Linux, należy wykorzystać menedżer pakietów apt-get. Polecenia które należy wpisać w terminalu użytkownika root 1 : apt-get install build-essential

Bardziej szczegółowo

Beniamin. Ponisza instrukcja dotyczy programu do wersji 1.4.180 włcznie. Nowe funkcjonalnoci kolejnych wersji, bd uwzgldniane w formie dodatku.

Beniamin. Ponisza instrukcja dotyczy programu do wersji 1.4.180 włcznie. Nowe funkcjonalnoci kolejnych wersji, bd uwzgldniane w formie dodatku. Beniamin Beniamin jest programem zapewniajcym bezpieczny dostp do zasobów sieci Internet. Blokuje dostp do stron, zgodnie z ustawieniami ustalonymi przez osob nadzorujc komputer oraz ogranicza dostp do

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

Instalacja programu Sprzeda

Instalacja programu Sprzeda Instalacja programu Sprzeda 1. Aby zainstalowa program Sprzeda w wersji 2.10, na serwerze lub komputerze, na którym przechowywane bd dane programu, pozamykaj wszystkie działajce programy i uruchom plik

Bardziej szczegółowo

Autorzy: Kraków, stycze 2007 Łukasz Dziewanowski Filip Haftek (studenci AGH III roku kierunku Automatyka i Robotyka)

Autorzy: Kraków, stycze 2007 Łukasz Dziewanowski Filip Haftek (studenci AGH III roku kierunku Automatyka i Robotyka) Autorzy: Kraków, stycze 2007 Łukasz Dziewanowski Filip Haftek (studenci AGH III roku kierunku Automatyka i Robotyka) PROGRAM DO OBSŁUGI TELEFONU KOMÓRKOWEGO I. Instalacja: MOLIWOCI POŁCZENIA TELEFONU Z

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: bazy danych, SQL, AJAX i JSON 1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji

Bardziej szczegółowo

Program do konwersji obrazu na cig zero-jedynkowy

Program do konwersji obrazu na cig zero-jedynkowy Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,

Bardziej szczegółowo

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy: wiczenie 2 Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Cel wiczenia: Zapoznanie si ze sposobami konstruowania tabel, powiza pomidzy tabelami oraz metodami manipulowania

Bardziej szczegółowo

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

Bardziej szczegółowo

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911) I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia

Bardziej szczegółowo

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management Nadrzdny artyku: Pierwsze kroki z Altium Designer Podstawow metod instalacji Altium Designer (od wersji Altium Designer

Bardziej szczegółowo

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Pawel@Kasprowski.pl Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07 PHP i bazy danych Paweł Kasprowski pawel@kasprowski.pl Użycie baz danych Bazy danych używane są w 90% aplikacji PHP Najczęściej jest to MySQL Funkcje dotyczące baz danych używają języka SQL Przydaje się

Bardziej szczegółowo

Instrukcja Obsugi Programu

Instrukcja Obsugi Programu sprawozdania jednostkowe Instrukcja Obsugi Programu cz administracyjna ód 2004 Spis treci 1. Jak zainstalowa program Budet JB Plus?... 2 1.1 Pena instalacja... 2 1.2 Aktualizacja... 3 1.3 Odinstalowanie

Bardziej szczegółowo

4CMSystem. Podrcznik uytkownika. Strona projektu: http://cms.4proweb.net. Realizacja projektu: 2004 2005

4CMSystem. Podrcznik uytkownika. Strona projektu: http://cms.4proweb.net. Realizacja projektu: 2004 2005 4CMSystem Podrcznik uytkownika Stworzone przez grup 4proweb.net Strona projektu: http://cms.4proweb.net Realizacja projektu: 2004 2005 Programista, administrator Marcin Iwaniec, miwaniec@4proweb.net Autor

Bardziej szczegółowo

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wersja draft 2.1 Na podstawie: Europejskiej Modelowej Umowy o EDI (w skrócie: EMUoE). 1. Standardy

Bardziej szczegółowo

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu.

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu. Ten rozdział pokae jak tworzy powierzchnie prostoliniowe i trasowane oraz dostarczy niezbdnych informacji o rónych typach powierzchni, które moemy stosowa przy tworzeniu geometrii. Rozdział pokazuje równie

Bardziej szczegółowo

ascom Instrukcja Obsługi dla portu USB Easy Access NT Family ascom NT + 2ab + USB

ascom Instrukcja Obsługi dla portu USB Easy Access NT Family ascom NT + 2ab + USB Instrukcja Obsługi dla portu USB Easy Access NT Family ascom NT + 2ab + USB Spis treci: 1. Wprowadzenie...3 2. Przegld...3 3. Ustawianie styku USB...3 4. Wskaniki LED...3 5. Instalacja sterownika USB w

Bardziej szczegółowo

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY AUTOMATECH AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY W roku 2006 Gmina Kampinos dokonała modernizacji swojej stacji uzdatniania wody (SUW). Obok zmian typu budowlanego (nowe zbiorniki wody,

Bardziej szczegółowo

Sesje i logowanie. 1. Wprowadzenie

Sesje i logowanie. 1. Wprowadzenie Sesje i logowanie 1. Wprowadzenie Żądania od nawet tego samego użytkownika na serwerze nie są domyślnie w żaden sposób łączone ze sobą. Każde jest w pewnym sensie nowe i serwer nie jest w stanie stwierdzić,

Bardziej szczegółowo

System Connector Opis wdrożenia systemu

System Connector Opis wdrożenia systemu System Connector Opis wdrożenia systemu Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Spistre ci Wymagania z perspektywy Powiatowego Urzdu Pracy... 3

Bardziej szczegółowo

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA

Microsoft Authenticode. Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode. wersja 1.1 UNIZETO TECHNOLOGIES SA Microsoft Authenticode Uycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii MS Authenticode wersja 1.1 Spis treci 1. WSTP... 3 2. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 3. INSTALOWANIE

Bardziej szczegółowo

Program Sprzeda wersja 2011 Korekty rabatowe

Program Sprzeda wersja 2011 Korekty rabatowe Autor: Jacek Bielecki Ostatnia zmiana: 14 marca 2011 Wersja: 2011 Spis treci Program Sprzeda wersja 2011 Korekty rabatowe PROGRAM SPRZEDA WERSJA 2011 KOREKTY RABATOWE... 1 Spis treci... 1 Aktywacja funkcjonalnoci...

Bardziej szczegółowo

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists() Paweł Gmys PHP strona 1 Lekcja 10 Uprawnienia Aby skrypt PHP mógł odwołać się do pliku, musi mieć odpowiednie uprawnienia. Szczegóły są zależne od serwera. Najczęściej chyba skrypt ma uprawnienia takie,

Bardziej szczegółowo

Trochę o plikach wsadowych (Windows)

Trochę o plikach wsadowych (Windows) Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

Języki programowania wysokiego poziomu. PHP cz.3. Formularze Języki programowania wysokiego poziomu PHP cz.3. Formularze Formularze Sposób przesyłania danych formularza do serwera zależy od wybranej metody HTTP: Metoda GET

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp

Bardziej szczegółowo

Twoja instrukcja użytkownika HP PAVILION DV3520EA http://pl.yourpdfguides.com/dref/4149432

Twoja instrukcja użytkownika HP PAVILION DV3520EA http://pl.yourpdfguides.com/dref/4149432 Możesz przeczytać rekomendacje w przewodniku, specyfikacji technicznej lub instrukcji instalacji dla. Znajdziesz odpowiedź na wszystkie pytania w instrukcji dla (informacje, specyfikacje, rozmiar, akcesoria,

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Wygodniejszym i wydajniejszym sposobem przechowywania i korzystania z dużej ilości danych zapisanych na serwerze jest współpraca z relacyjną bazą danych. 2 1. Utworzyć bazę danych.

Bardziej szczegółowo

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa

SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa Metody włamań do systemów komputerowych SQL injection Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl Metody włamań do

Bardziej szczegółowo

System Wspierania Pracy Przedstawicieli Handlowych Pocket Seller. Instrukcja uytkownika

System Wspierania Pracy Przedstawicieli Handlowych Pocket Seller. Instrukcja uytkownika System Wspierania Pracy Przedstawicieli Handlowych Pocket Seller Instrukcja uytkownika 91-046 Łód, ul. Kołodziejska 15 tel./ fax +48 42 6532286 http://www.agade.net, agade@agade.net Spis treci: 1. Wstpna

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU

Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU Komputerowa Ksiga Podatkowa Wersja 11.4 ZAKOCZENIE ROKU Przed przystpieniem do liczenia deklaracji PIT-36, PIT-37, PIT-O i zestawienia PIT-D naley zapozna si z objanieniami do powyszych deklaracji. Uwaga:

Bardziej szczegółowo

Podział Internetu radiowego WIFI konfiguracja

Podział Internetu radiowego WIFI konfiguracja Podział Internetu radiowego WIFI konfiguracja TL-WR543G Wireless AP Client Router Instrukcja ta zawiera uproszczony opis podziału łcza internetowego dostarczanego poprzez sie WIFI za pomoc dwóch routerów

Bardziej szczegółowo

Przed instalacj naley sprawdzi wersj posiadanych sterowników urzdzenia. Powinna by nie starsza ni:

Przed instalacj naley sprawdzi wersj posiadanych sterowników urzdzenia. Powinna by nie starsza ni: Instalacja karty TechniSat Sky Star 2 Przed instalacj naley sprawdzi wersj posiadanych sterowników urzdzenia. Powinna by nie starsza ni: DriverVer = 07/08/2003 4.2.8.9999 Po zainstalowaniu karty na złczu

Bardziej szczegółowo

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads

Instalacja MySQL. http://dev.mysql.com/downloads/mysql/5.0.html#downloads Instalacja MySQL Baza MySQL tworzona jest przez Szwedzką firmę MySQL AB strona domowa projektu to: www.mysql.com Wersję bezpłatną (różniącą się od komercyjnej brakiem wsparcia technicznego, nośnika i podręcznika)

Bardziej szczegółowo

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami Windows Serwer 2008 R2 Moduł 5. Zarządzanie plikami Sprawdzamy konfigurację kart sieciowych 172.16.x.0 x nr w dzienniku Na serwerze musi działać Internet! Statyczny adres IP jest potrzebny komputerom,

Bardziej szczegółowo

Co nowego w wersji 3.0?

Co nowego w wersji 3.0? Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

AltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents

AltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents AltiumLive Dashboard - sownik Language AltiumLive Dashboard - Glossary Contents Konto (Account) Aktywacja (Activation) Kod aktywacji (Activation Code) Kontakt (Contact) Grupa (Group) Administrator grupy

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

LABORATORIUM INFORMATYKI 0

LABORATORIUM INFORMATYKI 0 1. Uruchomi VS Express 2. Wybra z menu File, New Project 3. W oknie dialogowym New Project a. Podwietli Windows Application b. W pole Name wpisa własna nazw np. Program7 4. Zostanie utworzony szkielet

Bardziej szczegółowo

Instrukcja obsługi systemu przywoławczego pomidzy kabin LF a laboratorium analiz chemicznych

Instrukcja obsługi systemu przywoławczego pomidzy kabin LF a laboratorium analiz chemicznych Strona 0 z 16 Instrukcja obsługi systemu przywoławczego pomidzy kabin LF a laboratorium analiz chemicznych ZARMEN Sp. z o.o. 45-641 Opole ul. Owicimska 121 ZRM Warszawa 01-949 Warszawa ul. Kasprowicza

Bardziej szczegółowo

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji: 2012-03-08

Nr: 12. Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW. Data modyfikacji: 2012-03-08 Nr: 12 Tytuł: UDOSTĘPNIANIE DANYCH O SPRAWACH KLIENTOM KANCELARII NA ZEWNĘTRZNYCH SERWERACH WWW Data modyfikacji: 2012-03-08 Co zawiera ten dokument: Ten dokument zawiera informacje o możliwościach i sposobie

Bardziej szczegółowo

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA VPN Virtual Private Network Uycie certyfikatów niekwalifikowanych w sieciach VPN wersja 1.1 Spis treci 1. CO TO JEST VPN I DO CZEGO SŁUY... 3 2. RODZAJE SIECI VPN... 3 3. ZALETY STOSOWANIA SIECI IPSEC

Bardziej szczegółowo

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl

Instrukcja do panelu administracyjnego. do zarządzania kontem FTP WebAs. www.poczta.greenlemon.pl Instrukcja do panelu administracyjnego do zarządzania kontem FTP WebAs www.poczta.greenlemon.pl Opracowanie: Agencja Mediów Interaktywnych GREEN LEMON Spis treści 1.Wstęp 2.Konfiguracja 3.Konto FTP 4.Domeny

Bardziej szczegółowo

Przyk adowa konfiguracja zwielokrotnianienia po czenia za pomoc Link Aggregation Control Protocol

Przyk adowa konfiguracja zwielokrotnianienia po czenia za pomoc Link Aggregation Control Protocol Przykadowa konfiguracja zwielokrotnianienia poczenia za pomoc Link aggregation - polega na grupowaniu kilku pocze (kabli) sieciowych w jeden port logiczny (port AG), który jest widoczny jak pojedyncze

Bardziej szczegółowo

Twoja instrukcja użytkownika PHILIPS JR32RWDVK http://pl.yourpdfguides.com/dref/1003823

Twoja instrukcja użytkownika PHILIPS JR32RWDVK http://pl.yourpdfguides.com/dref/1003823 Możesz przeczytać rekomendacje w przewodniku, specyfikacji technicznej lub instrukcji instalacji dla PHILIPS JR32RWDVK. Znajdziesz odpowiedź na wszystkie pytania w instrukcji dla PHILIPS JR32RWDVK (informacje,

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI DLA SIECI

INSTRUKCJA OBSŁUGI DLA SIECI INSTRUKCJA OBSŁUGI DLA SIECI Zapisywanie dziennika druku w lokalizacji sieciowej Wersja 0 POL Definicje dotyczące oznaczeń w tekście W tym Podręczniku użytkownika zastosowano następujące ikony: Uwagi informują

Bardziej szczegółowo

Sieciowa instalacja Sekafi 3 SQL

Sieciowa instalacja Sekafi 3 SQL Sieciowa instalacja Sekafi 3 SQL Niniejsza instrukcja opisuje instalację Sekafi 3 SQL w wersji sieciowej, z zewnętrznym serwerem bazy danych. Jeśli wymagana jest praca jednostanowiskowa, należy postępować

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo

Kreator automatycznego uaktualniania firmware'u

Kreator automatycznego uaktualniania firmware'u Kreator automatycznego uaktualniania firmware'u Language Automatic Firmware Update Wizard Contents Dostp do kreatora Proces aktualizacji firmware'u (uruchomiony z trybu normalnego) Proces aktualizacji

Bardziej szczegółowo

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Dostp do zasobów dyskowych uytkowników lcme10 przez protokół SMB (Microsoft Networking)

Dostp do zasobów dyskowych uytkowników lcme10 przez protokół SMB (Microsoft Networking) Dostp do zasobów dyskowych uytkowników lcme10 przez protokół SMB (Microsoft Networking) Powered by: Od 20 stycznia 2003 roku wszyscy u ytkownicy serwera lcme10, posiadajcy konta w domenie SE-AD Instytutu

Bardziej szczegółowo