6. Bezpieczeństwo przy współpracy z bazami danych
|
|
- Henryka Sobczak
- 8 lat temu
- Przeglądów:
Transkrypt
1 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 danych. Dzieje się tak najczęściej wtedy, gdy zapytanie zawiera elementy wstawiane z formularza HTML. Odpowiednio preparując treść informacji wysyłanych przez formularz, wrogi użytkownik jest w stanie wejść w posiadanie nie przeznaczonych dla niego informacji. Istnieje wiele sposobów wykonania takiego ataku, tutaj omówię jedynie dwa najpopularniejsze, pierwszy za pomocą polecenia OR języka SQL, drugi za pomocą polecenia UNION SELECT Prosty atak przy pomocy polecenia OR Atak taki może być użyty np. w formularzu logowania na stronę internetową, jeżeli użytkownicy i hasła przechowywane są w tabeli bazy danych. Dzięki niemu możemy przejść pozytywnie proces logowania nie znając ani żadnej zarejestrowanej nazwy użytkownika, ani żadnego hasła. Typowy fragment kodu wrażliwego na taki atak będzie wyglądał następująco (jest to fragment skryptu odbierającego dane z formularza logowania): $user = $_POST['username']; $pass = $_POST['password'];
2 $zapytanie = "SELECT userid FROM userzy WHERE userid=\"$user\" AND pass=\"$pass\""; $wynik = mysql_query($zapytanie); $odpowiedz = mysql_fetch_assoc($wynik); $zalogowany = $odpowiedz['userid']; Powyższy fragment kodu sprawdza zgodność hasła i umieszcza nazwę zalogowanego użytkownika w zmiennej $zalogowany. A o to w jaki prosty sposób można obejść stronę logowania. Wrogi użytkownik wpisuje następujące teksty w formularzu logowania: Użytkownik: " OR ""=" Hasło: " OR ""=" W efekcie do bazy danych zostanie wysłane następujące zapytanie: SELECT userid FROM userzy WHERE userid="" OR ""="" AND pass="" OR ""="" Takie zapytanie zwróci całą tabelę, w efekcie zostaniemy zalogowani jako pierwszy użytkownik.
3 6.3. Atak przy pomocy UNION SELECT Polecenie UNION SELECT pozwala na połączenie w jedną odpowiedź dwóch zapytań w przypadku wykorzystania tej możliwości do ataku, pierwsza część zapytania jest nieistotna (jest to zapytanie do tabeli dostępnej użytkownikowi). Będąc wrogim użytkownikiem formułujemy pierwszą część w taki sposób, aby zwróciła zero wierszy. Druga część zapytania natomiast skierowana jest do tabeli, której dane chcemy przejąć. Siłę takiego ataku zwiększa fakt, że o ile użytkownik skryptu ma (na skutek niedopatrzenia administratora bazy i/lub serwera WWW) odpowiednie uprawnienia w bazie danych, to może zdobyć w ten sposób dostęp do bazy systemowej (w MySQL jest to baza 'mysql' z tabelami takimi jak 'mysql.user', 'mysql.db' i tak dalej). Załóżmy, że mamy do czynienia z blogiem internetowym, do którego wpisów można się dostać poprzez następujący URL: gdzie xx to numer wpisu. Zapytanie do bazy danych pobierające odpowiednie dane dotyczące wpisu wygląda tak: $zapytanie = "SELECT data,tytul,tresc FROM blog WHERE wpis={$_get['wpis']}"; Zaatakujmy stronę, wpisując jako adres URL następujący tekst:
4 UNION SELECT user,pass FROM users Spowoduje to wysłanie do bazy danych następującego zapytania: SELECT data,tytul,tresc FROM blog WHERE wpis=-2 UNION SELECT user,pass FROM users Kolorem zielonym oznaczono tę część zapytania, która poprzez podanie nieistniejącego wpisu daje zero wierszy, zatem przyjazna część zapytania została zneutralizowana. Kolorem czerwonym natomiast oznaczona jest wroga część zapytania, sięgająca po dane do zupełnie innej tablicy. Jej pierwszy wiersz zostanie pokazany jako wpis do bloga, o ile użyto przy pobieraniu wiersza funkcji mysql_fetch_row(), ale i mysql_fetch_assoc() nie stanowi przeszkody, można wszak zapytać: UNION SELECT user AS data, pass AS tytul FROM users W ten sposób mamy pierwszego użytkownika i jego hasło. A co z następnymi? Nic prostszego, oto sięgamy po następnego: UNION SELECT user,pass FROM users WHERE NOT userid="jan" gdzie rzecz jasna jan to identyfikator pierwszego użytkownika. W ten sposób używając dodatkowo AND, możemy powyciągać ilość użytkowników ograniczoną w zasadzie
5 dopuszczalną długością URL-a w przeglądarce (ale kto powiedział, że musimy generować te zapytania przeglądarką?...). Wrogi użytkownik może w ten sam sposób sięgnąć do tabel systemowych bazy, zawierających dane o użytkownikach bazy, bazach, tabelach i prawach dostępu. Na przykład w MySQL mamy między innymi: mysql baza systemowa, mysql.user tabela użytkowników i ich przywilejów mysql.db tabela baz danych, mysql.tables_priv tabela praw dostępu do tabel. O ile administrator nie był na tyle czujny, żeby zablokować SELECT do tych tabel (że nie wspomnę o innych przywilejach) dla użytkownika systemu, w kontekście którego wykonywany jest skrypt, wrogi użytkownik ma szerokie pole do działania Przeciwdziałanie Uniemożliwienie ataku SQL injection polega na zablokowaniu możliwości bezpośredniego umieszczania łańcuchów tekstowych podawanych poprzez metody GET i POST protokołu HTTP w zapytaniach do bazy danych. Najskuteczniejszą metodą walki z takimi atakami jest stosowanie wyłącznie zapytań o treści statycznej (niezależnej od informacji przychodzących z sieci), jednak nie zawsze jest to możliwe. Można też przeszukiwać teksty zewnętrzne umieszczane w zapytaniach do baz danych pod kątem słów kluczowych języka SQL, jednak po pierwsze istnieje ryzyko pominięcia jakichś słów, po drugie tekst może zawierać takie słowo w kontekście zwykłych danych (np.
6 użytkownik o nazwie 'union'). Generalnie wiadomo im więcej sprawdzeń tym lepiej. Istnieją również gotowe rozwiązania do walki z SQL injection w samym PHP Magic Quotes Jest to automatyczna opcja w PHP, która w tablicach $_GET[] i $_POST[] automatycznie poprzedza wszystkie apostrofy, cudzysłowy, odwrotne ukośniki i znaki o kodzie 0 odwrotnym ukośnikiem. Powoduje to, że znaki te nie są traktowane przez MySQL (i inne bazy) jako znaki specjalne. Uniemożliwia to wykonanie większości ataków SQL Injection (ale nie wszystkich). Jest to opcja włączana globalnie w ustawieniach PHP. Główną zaletą Magic Quotes jest automatyzm początkujący użytkownik nie zapomni o zabezpieczeniu. Oprócz tego jednak znajdziemy szereg wad. Po pierwsze poczucie fałszywego bezpieczeństwa Magic Quotes nie zabezpieczają przed wszystkimi atakami. Po drugie dane są przetwarzane niezależnie od tego, czy faktycznie kierowane są do zapytań SQL powoduje to niepotrzebny spadek wydajności skryptu i zwiększenie zapotrzebowania na pamięć. Dodatkową wadą są problemy z przenośnością w przypadku gdy przenosimy skrypt z miejsca gdzie Magic Quotes są włączone do miejsca gdzie są wyłączone i odwrotnie. Stan Magic Quotes można sprawdzić z poziomu skryptu funkcją get_magic_quotes_gpc().
7 6.6. mysql_real_escape_string() Ta specyficzna dla MySQL funkcja powinna być stosowana do przetwarzania wszystkich danych zewnętrznych (zwłaszcza z tablic $_GET[] i $_POST[]) wstawianych do zapytań kierowanych do bazy MySQL. Pierwszym parametrem funkcji jest przetwarzany łańcuch tekstowy, a drugim zasób identyfikujący nawiązane połączenie z bazą danych (wynik mysql_connect()). Stąd wniosek, że funkcji tej można użyć tylko mając nawiązane połączenie. Wymaganie to wynika z faktu, że funkcja bierze pod uwagę kodowanie znaków używane przez bazę (np. może to być UTF-8). Jeżeli nie podamy połączenia, przyjmowane jest domyślnie ostatnio nawiązane połączenie. Przykład użycia: $user = mysql_real_escape_string($_post['user']); $pass = mysql_real_escape_string($_post['pass']); $zapytanie = "SELECT user FROM users WHERE user=\"$user\" AND pass=\"$pass\""; $wynik = mysql_query($zapytanie);
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ółowo5. Współpraca z bazą danych MySQL
5. Współpraca z bazą danych MySQL 5.1. Informacje ogólne Język PHP posiada obsługę wielu relacyjnych baz danych, jedną z najpopularniejszych jest baza MySQL. PHP pozwala na pełną współpracę z bazą. Praca
Bardziej szczegółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoBazy 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ółowoProjektowani 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ółowoPawel@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ółowoAplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. Ćwiczenia
Języki programowania wysokiego poziomu Ćwiczenia Języki programowania Ćwiczenia Strukturalny HTML Arkusze CSS Formularze HTML i PHP Baza danych MySQL Forum internetowe Strukturalny HTML Zadania Dokument
Bardziej szczegółowoWykład 6: PHP: praca z bazą danych MySQL, cz.2
Wykład 6: PHP: praca z bazą danych MySQL, cz.2 Połączenie z bazą danych (cba.pl) Uwaga ogólna: Gdy korzystamy z usługi hostingowej: usługodawca poda nam nasz login, hasło i nazwę bazy danych (przy bezpłatnej
Bardziej szczegółowoZakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę
Bardziej szczegółowoPHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
Bardziej szczegółowoBazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Bardziej szczegółowoZagadnienia. Konstrukcja bibliotek mysql i mysqli w PHP. Dynamiczne generowanie stron. Połączenie, zapytanie i sesja
Zagadnienia Konstrukcja bibliotek mysql i mysqli w PHP Dynamiczne generowanie stron Połączenie, zapytanie i sesja Podstawowe opakowanie dla zapytań SQL w PHP Zarządzania uŝytkownikami Włamania do mysql
Bardziej szczegółowoAdministracja bazami danych
Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi
Bardziej szczegółowoBaza 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ółowoSQL 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ółowoJęzyki programowania wysokiego poziomu. PHP cz.4. Bazy danych
Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł
Bardziej szczegółowoFormy ataku SQL Injection
Formy ataku SQL Injection Niedostateczne filtrowanie danych Ten typ ataków opiera się na nieodpowiednim filtrowaniu znaków ucieczki z danych wejściowych, co pozwala na przekazanie dodatkowych parametrów
Bardziej szczegółowoKontrola 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ółowoCREATE 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ółowoJęzyki programowania wysokiego poziomu. Blog
Języki programowania wysokiego poziomu Blog Elementy obowiązkowe (2p.) Wyświetlanie wpisów Logowanie/wylogowanie Dodawanie wpisów Elementy obowiązkowe (2p.) Wyświetlanie wpisów - wszystkie wpisy na jednej
Bardziej szczegółowoPo instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest
Autor: J. Karwowska 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ść nadania go. Użytkownik
Bardziej szczegółowoKontrola 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ółowoInternetowe 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ółowoInstalacja 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ółowoZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP
ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP Zad. 1 Dla każdego zamówienia wyznaczyć jego wartość. Należy podać numer zamówienia oraz wartość. select z.id_zamowienia, sum(ilosc*cena) as wartosc
Bardziej szczegółowoZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Bardziej szczegółowoZagroż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ółowoPHP: 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ółowo4. Projekt Bazy Danych
4. Projekt Bazy Danych 4.1. Opis rozdziału W tym rozdziale przedstawiono prosty projekt bazy danych dla naszej gry. 4.2. Dane logowania Na początku zastanówmy się jakie dane będą nam potrzebne do zarejestrowania
Bardziej szczegółowoWykł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ółowoWydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki
Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Informatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Przetwarzanie i organizowanie danych : bazy danych Nr ćwiczenia 10 Temat Aplikacje
Bardziej szczegółowoHosting 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ółowoZajęcia 11 wykorzystanie MySQL w PHP
Zajęcia 11 wykorzystanie MySQL w PHP MySQL MySQL jest jednym z najpopularniejszych wolnodostępnych systemów zarządzania relacyjnymi bazami danych. Głównym jego załoŝeniem była szybkość działania, toteŝ
Bardziej szczegółowoDokumentacja systemu NTP rekrut. Autor: Sławomir Miller
Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji
Bardziej szczegółowowww.kwp.edu.pl Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy
www.kwp.edu.pl Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy Wersja: 4_23/07/2012 1 Spis treści 1. Wymagania... 3 2. Konfiguracja serwera... 3 3. Parametry konfiguracyjne
Bardziej szczegółowoJęzyki programowania wysokiego poziomu. Forum
Języki programowania wysokiego poziomu Forum Elementy obowiązkowe (2p.) Wyświetlanie wpisów Logowanie/wylogowanie Dodawanie wpisów Rejestracja użytkowników Elementy obowiązkowe (2p.) Wyświetlanie wpisów
Bardziej szczegółowoBazy danych i strony WWW
Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy
Bardziej szczegółowoIntegracja systemu trigocms! z platformą Facebook
Integracja systemu trigocms! z platformą Facebook 1. Wstęp trigocms! daje Ci możliwość integracji z platformą Facebook, dzięki czemu możesz publikować artykuły jednocześnie na swojej stronie internetowej
Bardziej szczegółowoData modyfikacji: 2013-08-14
Data modyfikacji: 2013-08-14 Co zawiera ten dokument: Ten dokument przedstawia, w jaki sposób zainstalować program Kancelaris PLUS 4 za pomocą standardowego instalatora na serwerze MySQL w wersji 5.0 i
Bardziej szczegółowoInstalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW. Wymagania
Instalacja (GM) AMXBans #1.5.1/ #1.6.1 na serwerze gry/stronie WWW Wymagania Aby poprawnie zainstalować (GM) AMXBans # 1.5.1/ # 1.6.1, potrzebujemy; * Najnowsze wydanie MetaModa * Najnowsza wersja AMXMod
Bardziej szczegółowoPomoc dla systemu WordPress
Pomoc dla systemu WordPress Ten plik pomocy przeznaczony jest dla pluginu stat24 w wersji 0.2. W tym pluginie porzucono wsparcie dla starszych wersji WordPress (niższych niż 1.5) oraz zrezygnowano z opcji
Bardziej szczegółowoRejestracja i Logowania - PHP/MySQL
Artykuł pobrano ze strony eioba.pl Rejestracja i Logowania - PHP/MySQL Opis skryptu służącego do rejestrowania oraz logowania się użytkowników z użyciem bazy danych. Aby w pełni zrozumieć poniższy artykuł
Bardziej szczegółowoBezpieczeń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ółowoLaboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
Bardziej szczegółowoDOKUMENTACJA TECHNICZNA SMS API MT
DOKUMENTACJA TECHNICZNA SMS API MT Mobitex Telecom Sp.j., ul. Warszawska 10b, 05-119 Legionowo Strona 1 z 5 Ten dokument zawiera szczegółowe informacje odnośnie sposobu przesyłania requestów do serwerów
Bardziej szczegółowo2. Łańcuchy tekstowe w PHP
2. Łańcuchy tekstowe w PHP 2.1 Apostrofy i cudzysłowy Łańcuch tekstowy w języku PHP to ciąg znaków ograniczony apostrofami (') lub cudzysłowami ("). Te znaki ograniczające nie powinny być traktowane wymiennie,
Bardziej szczegółowoInformatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
Bardziej szczegółowoWprowadzenie do Internetu Zajęcia 5
Zajęcia 5 Formularze w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP można przekazać za pomocą formularzy. W tym celu należy stworzyć formularz (znacznik ),
Bardziej szczegółowoSQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
Bardziej szczegółowoREFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja mobilnego systemu wspomagającego organizowanie zespołowej aktywności fizycznej Autor: Krzysztof Salamon W dzisiejszych czasach życie ludzi
Bardziej szczegółowoBazy Danych i Systemy informacyjne Wykład 5. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 5 Piotr Syga 13.11.2017 PREPARE przypomnienie Przygotowanie zapytania dynamicznego Wcześniejszy przykład SET @kol = "kolor"; SET @str = CONCAT("SELECT ", @kol,
Bardziej szczegółowoZajęcia 10 obsługa formularzy w PHP
Zajęcia 10 obsługa formularzy w PHP Przekazywanie danych ze strony do skryptu PHP Dane ze strony WWW do skryptu PHP przekazujemy za pomocą formularzy. W tym celu musimy stworzyć formularz (znacznik ),
Bardziej szczegółowoBazy Danych. Ćwiczenie 1: Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Bazy Danych Ćwiczenie 1: Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front opracował:
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoAplikacje 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ółowoBazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Bardziej szczegółowoPolityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok
Polityka prywatności Spółdzielni Mieszkaniowej Słoneczny Stok Spółdzielnia Mieszkaniowa Słoneczny Stok szanuje prawo do prywatności Użytkowników serwisu sm-slonecznystok.pl. W szczególności dba o ochronę
Bardziej szczegółowoZbieranie kontaktów.
Zbieranie kontaktów. Autor: Roman Przydatek Silvanet Hanna Kumpicka Polskie prawo zabrania wysyłania ofert handlowych na adresy e-mail, których właściciele nie wyrazili na to jednoznacznie zgody. W celu
Bardziej szczegółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Bardziej szczegółowo(aktualizacja 30 kwietnia 2018)
Weryfikacja użytkownika, lista i prawa użytkowników (aktualizacja 30 kwietnia 2018) Abstrakt W poradniku opisano możliwości programu w zakresie zabezpieczania dostępu do programu hasłem, tworzenia listy
Bardziej szczegółowoPHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści
PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop. 2017 Spis treści Wstęp 11 Część I Skrypty PHP dynamiczne generowanie stron internetowych 15 Rozdział 1. Podstawy 17 Czym jest PHP? 17 Krótka
Bardziej szczegółowoDokumentacja smsapi wersja 1.4
Dokumentacja smsapi wersja 1.4 1. Wprowadzenie Platforma smsapi została skierowana do użytkowników chcących rozbudować swoje aplikacje o system wysyłania smsów. Aplikacja ta w prosty sposób umożliwia integrację
Bardziej szczegółowoDOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0
KurJerzyAPI wersja 1.0 Spis treści Wstęp...3 1. Korzystanie z interfejsu KurJerzyAPI...4 1.1 Warunki korzystania z interfejsu...4 1.2 Zabezpieczenia interfejsu...4 2. Specyfikacja interfejsu KurJerzyAPI...6
Bardziej szczegółowoSprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
Bardziej szczegółowoArtykuł pochodzi z czasopisma PHP Solutions. Do ściągnięcia bezpłatnie ze strony: www.phpsolmag.org
Artykuł pochodzi z czasopisma PHP Solutions. Do ściągnięcia bezpłatnie ze strony: www.phpsolmag.org Bezpłatne kopiowanie i rozpowszechanie artykułu dozwolone pod warunkiem zachowania jego obecnej formy
Bardziej szczegółowoAdministrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH
Administrowanie serwerami baz danych ZADANIA ADMINISTRATORA BAZ DANYCH Konfigurowanie serwera Domyślnym folderem instalacyjnym serwera MySQL jest XAMPP\MySQL\... Istotne z punktu widzenia administratora
Bardziej szczegółowoBazy Danych i Systemy informacyjne Wykład 5. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 5 Piotr Syga 30.10.2018 PREPARE przypomnienie Przygotowanie zapytania dynamicznego Przypomnienie SET @age = 50; SET @str = CONCAT("SELECT * FROM Trener WHERE wiek
Bardziej szczegółowoPROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ
PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, 351203 O STRUKTURZE PRZEDMIOTOWEJ Systemy baz danych 1. 2 Wstęp do baz danych 2. 2 Relacyjny model baz danych. 3. 2 Normalizacja baz danych. 4. 2 Cechy
Bardziej szczegółowoDokumentacja interfejsu MySQL. Platforma BSMS.PL Instrukcja podłączenia po przez mysql
Dokumentacja interfejsu MySQL Platforma BSMS.PL Instrukcja podłączenia po przez mysql Dokumentacja interfejsu mysql (strona 2) SPIS TREŚCI 1. Zawartość dokumentu str.3 2. Informacje ogólne 2.1 Zastosowanie
Bardziej szczegółowoStruktura drzewa w MySQL. Michał Tyszczenko
Struktura drzewa w MySQL Michał Tyszczenko W informatyce drzewa są strukturami danych reprezentującymi drzewa matematyczne. W naturalny sposób reprezentują hierarchię danych toteż głównie do tego celu
Bardziej szczegółowoBazy danych w PHP dla początkujących
Instrukcja numer 05 Bazy danych w PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Bazy danych w PHP dla początkujących Tworzenie bazy danych Krok 1 Należy połączyć się z serwerem MySQL
Bardziej szczegółowoepuap Zakładanie konta organizacji
epuap Zakładanie konta organizacji Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka Jak założyć konto? Proces zakładania
Bardziej szczegółowoPLAN 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ółowoPHP + MySQL w laboratorium (1)
PHP + MySQL w laboratorium (1) W czasie użytkowania systemu musi działać serwer MySQL, Apache i być dostępna przeglądarka internetowa. Zadanie 1 - Umieścić wydrukowany poniżej skrypt info.php w kartotece
Bardziej szczegółowoOpis instalacji oparto na przykładzie serwera SUPERHOST z obsługą PHP i MySQL.
Instalacja Joomla Opis instalacji oparto na przykładzie serwera SUPERHOST z obsługą PHP i MySQL. Przygotowanie bazy danych: Nie będę się tu rozwodzić nad instalacją i konfiguracją serwera MySQL, zakładając
Bardziej szczegółowoPrzygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front
Przygotowanie środowiska pracy dla bazy MySQL z wykorzystaniem XAMPP Portable Lite oraz MySQL-Front opracował: dr inż. Artur Gramacki (a.gramacki@iie.uz.zgora.pl) KAŻDY student wykonuje SAMODZIELNIE na
Bardziej szczegółowoInstrukcja migracji danych z bazy Derby do bazy Oracle
Instrukcja migracji danych z bazy Derby do bazy Oracle wersja 5.14.0.2 Wrocław.2015r. Wszelkie prawa zastrzeżone. Dokument może być reprodukowany lub przechowywany bez ograniczeń tylko w całości. Żadna
Bardziej szczegółowoE-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak
Bardziej szczegółowoProgramowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Uwierzytelnianie użytkowników, Obiekt session, Silniki
Bardziej szczegółowomysql> 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ółowoSzczegółowy opis zamówienia:
Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h
Bardziej szczegółowoDlaczego PHP? - zalety
Dlaczego PHP? - zalety (+) bezpieczeństwo kodu - PHP wykonuje się po stronie serwera ( niezależność od przeglądarki) (+) bezpieczeństwo danych - wykorzystanie ssl i HTTPS (+) PHP jako moduł serwera WWW
Bardziej szczegółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 8 PHP, czyli poczatki nowej, dynamicznej znajomosci Na dzisiejszych zajęciach rozpoczniemy programowanie po stronie serwera w języku PHP. Po otrzymaniu żądania serwer
Bardziej szczegółowoInstrukcja pozyskania identyfikatora - UID
Instrukcja pozyskania identyfikatora - UID UWAGA Instrukcja jest przeznaczona dla użytkowników, którzy posiadali aktywne konta w Krajowym Rejestrze Uprawnień, a następnie ich dane zostały zmigrowane do
Bardziej szczegółowoSesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka
Sesje, ciasteczka, wyjątki Nie sposób wyobrazić sobie bez nich takich podstawowych zastosowań, jak logowanie użytkowników czy funkcjonowanie koszyka na zakupy. Oprócz tego dowiesz się, czym są wyjątki,
Bardziej szczegółowoKró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ółowoPodstawy technologii WWW
Podstawy technologii WWW Ćwiczenie 11 PHP, MySQL: więcej, więcej!, więcej!!. tabel i funkcjonalności. Na dzisiejszych zajęciach zdefiniujemy w naszej bazie kilka tabel powiązanych kluczem obcym i zobaczymy,
Bardziej szczegółowoUdostępnianie klientom zasobów serwera
Wykład11PHP szczegółyintymne,str1 Udostępnianie klientom zasobów serwera SERWER programy w PHP Wykład11PHP szczegółyintymne,str2 Udostępnianie klientom zasobów serwera Serwer wykonuje obliczenia zlecone
Bardziej szczegółowo0.1 Logowanie do serwisu
0.1. LOGOWANIE DO SERWISU 1 0.1 Logowanie do serwisu Tematem przewodnim będzie stworzenie systemu logowania do strony. I to takiego systemu, który będzie łączył się z bazą danych MySQL. Jeśli zaś chodzi
Bardziej szczegółowoInstrukcja korzystania z Portalu internetowego Visteon
Instrukcja korzystania z portalu zawarta na następnych stronach została streszczona poniżej: Logowanie się Pierwsza zmiana hasła Korzystanie z funkcji Formularza Zgłoszenia Naprawy Bezpośredniej do wypełniania
Bardziej szczegółowostrukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych
SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoepuap Zakładanie konta organizacji
epuap Zakładanie konta organizacji Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka Jak założyć konto? Proces zakładania
Bardziej szczegółowoRejestracja i logowanie do systemu e-bok EWE
Rejestracja i logowanie do systemu e-bok EWE Spis treści Wstęp 1. Kto może korzystać z e-bok EWE?... 3 2. Funkcje systemu e-bok... 3 3. Wymagania techniczne sprzętu komputerowego... 4 4. Bezpieczeństwo...
Bardziej szczegółowokoledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,
Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi
Bardziej szczegółowoInformatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Bardziej szczegółowoDrobne błędy w portalach WWW
Drobne błędy w portalach WWW Borys Łącki http://www.logicaltrust.net XIX Górska Szkoła Informatyki / Szczyrk, 23-26.06.2008 r. LogicalTrust wyizolowany departament bezpieczeństwa IT Business Consulting
Bardziej szczegółowoSYSTEM INFORMATYCZNY KS-SEW
DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http://www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00
Bardziej szczegółowoWybór wszystkich danych: SELECT * FROM employee Wybór określonych kolumn lub wyrażeń: SELECT first_name, last_name, salary FROM employee
Polecenie SELECT instrukcja pobierająca dane z bazy danych (z tabel, widoków) użytkownik posługujący się nią musi mieć uprawnienia do pobierania danych wynikiem zapytania jest zawsze tablica o określonych
Bardziej szczegółowo