Jak odczytać kody CAPTCHA?
|
|
- Kacper Przybylski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Artykuł pobrano ze strony eioba.pl Jak odczytać kody CAPTCHA? Część I Na nasze strony wchodzi coraz więcej botów internetowych. Zaśmiecają komentarze, księgi gości, czy formularze kontaktowe. Jednak wynaleziono dosyć łatwy sposób na zatrzymanie ich niepożądanej działalności - kody CAPTCHA. Metoda ta polega na przeprowadzeniu testu, który jest w stanie rozwiązać tylko człowiek - zazwyczaj musimy przepisać kilka literek z obrazka. Początkujący programiści tworzą proste kody, które w rzeczywistości nie spełniają należycie swojej funkcji. Pokażę dzisiaj jak za pomocą prostych metod odczytać tekst umieszczony na obrazku. Przypuśćmy, że jesteśmy programistą serwisu. Mamy problem z robotami internetowymi, więc piszemy skrypt, który będzie generował nam losowy zestaw znaków. Żeby dodatkowo utrudnić robotowi pracę, dodajemy w tle różnokolorowe, losowe paski. Ponadto litery znajdują się na różnych wysokościach. Efekt wygląda tak: Pozwoliłem sobie odpowiednio powiększyć grafikę, aby była ona dobrze widoczna. I będąc na miejscu takiego programisty myślimy sobie, że żaden bot już nam nie wejdzie na stronę. I tu jest błąd - odczytanie tekstu z tak zaprojektowanego obrazka zajmie mniej niż sekundę A teraz krok po kroku pokażę, w jaki sposób działa taki bot. W ten sposób będziemy znali słabe punkty naszego skryptu i będziemy mogli wyeliminowac ewentualne błędy. 1. Separacja tła Programista dodaje kolorowe linie w tle, aby utrudnić robotowi odczytanie liter. Czasami potrafi tak bardzo przesadzić, że nawet człowiek nie potrafi odczytać poprawnie liter. Jednak przy prostym zabezpieczeniu odseparowanie liter od tła nie stanowi większego problemu. Zobaczmy jak to się ma w praktyce. Każdy kolor na ekranie składa się z trzech barw składowych: czerwonej (R), zielonej (G) i niebieskiej (B). Każda składowa jest z przedziału od 0 do 255. I tak dla koloru czarnego reprezentacją RGB jest (0, 0, 0), czerwony ma (255, 0, 0), niebieski (0, 0, 255), biały (255, 255, 255) itd. Jeżeli zsumujemy wszystkie trzy składowe, to możemy zauważyć, że im suma jest bliższa zeru, tym kolor jest ciemniejszy. I tak dla czarnego będzie to 0, a dla białego 765. Co nam to daje? To, że jeżeli bot przejedzie piksel po pikselu cały obrazek i ustawi próg np. na 300, to jest w stanie odseparować tło, od właściwego tekstu. Efekt wygląda następująco:
2 Jak widać, dobierając odpowiednia wartość jesteśmy w stanie bez problemu oddzielić tło, od właściwego tekstu. Wystarczy tylko przyjąć odpowiedni próg. 2. Oddzielenie poszczególnych liter Kolejnym krokiem jest oddzielenie od siebie liter. Nie jest to trudne zadanie, a wręcz banalne. Spójrzmy na przykład: Skrypt jedzie piksel po pikselu od góry do dołu. Jeżeli w całej kolumnie nie znajdzie ani jednego czarnego piksela, to jest to dla niego informacja, że tutaj znajduje się odstęp między literami. W języku polskim nie ma takiej litery, która składała by się z odstępu, między poszczególnymi znakami. Więc kolejny problem jest już rozwiązany. 3. Rozpoznawanie liter I teraz chyba najtrudniejsze zadanie - rozpoznanie liter. Wbrew pozorom jest to łatwiejsze niż to się wydaje. Spójrzmy: Na czym to polega? Skrypt analizuje każdą kolumnę w obrazku i zlicza ilość czarnych pikseli - w rezultacie otrzymujemy liczbową reprezentację danej liczby. Dla litery a zawsze będzie taka sama, nieważne, czy będzie znajdować się nisko, czy wysoko. I tak dla litery a będzie to W alfabecie nie ma dwóch takich samych liter, więc nie ma problemu z rozpoznawaniem liter. Jeżeli wcześniej przeanalizujemy kilka takich kodów, to jesteśmy w stanie wygenerować bazę wzorców, z którymi będziemy porównywać poszczególne reprezentacje liczbowe. Ot i mamy cały obrazek odczytany. Teraz tylko wystarczy napisac bota i zaspamować koledze serwis :). I jeszcze taka uwaga: jeżeli i tak nasz bot będzie się od czasu do czasu mylił, to nie ma to większego znaczenia. Nie zapominajmy, że bot może chodzić po stronach 24 godziny na dobę. Przy kilku wywołaniach na minutę, po kilku godzinach nasz serwis jest zawalony niepotrzebnymi informacjami. I na koniec przypomina mi się powiedzenie mojej mamy: Zrób coś raz, a porządnie :D Część II W poprzednim poście pokazałem w jaki sposób oszukać programistów laików i odczytać kody CAPTCHA
3 zabezpieczające strony internetowe. Jednak sam opis nie wystarcza zabardzo, aby skutecznie skanować kody na obrazkach. W niniejszym poście zaprezentuję kod, za którego pomocą odszyfrujemy zabezpieczający tekst. W poniższym tutorialu zajmiemy się takim oto obrazkiem: Jak widać bez problemu jesteśmy w stanie odczytać jego zawartość: 011e11af. Jednak komputer widzi obrazek mniejwięcej tak: , itd. Tak więc nic nam to specjalnie nie mówi. Jednak stosując krok po kroku zasadę, którą przedstawiłem w poprzednim poście jesteśmy w stanie bezbłędnie rozszyfrować obrazek. <?php $image = 'token.gif'; $info = getimagesize($image); $width = $info[0]; $height = $info[1]; $img = imagecreatefromgif($image); Kod zaczynamy od stworzenie zmiennej, która będzie przechowywała odres do pliku z obrazkiem. Następnie za pomoca funkcji getimagesize() pobieramy informacje o pliku. Nas będzie interesowały tylko szerokość i wysokość obrazka. Są one przechowywane odpowiednio w zerowym i pierwszym kluczu, zwracanym przez funkcję. Przypisujemy je do zmiennych $width i $height. Ostatnim krokiem jest otwarcie obrazka funkcją imagecreatefromgif() i zapisanie uchwytu do zmiennej $img. Oddzielenie tła od liter $map = array(); for($y=0; $y<$height; $y++) for($x=0; $x<$width; $x++) $color = imagecolorsforindex($img, imagecolorat($img, $x, $y)); $map[$x][$y] = ($color['red'] + $color['blue'] + $color['green'] < 200)? undefined : FALSE; Następnie tworzymy dwie pętle, które będą po kolei analizowały każdy piksel obrazka. Tutaj właśnie przydają się zmienne $width i $height. Fragment ten sprawdza, czy dany piksel jest literą (undefined), czy też nie (FALSE). W tym celu sumuje wszsytkie trzy składowe danego koloru, które są pobierane za pomocą dwóch funkcji: imagecolorat() oraz imagecolorscorindex(). Pierwsza z nich tworzy uchwyt do koloru o podanych współrzędnych, a druga zamienia go na tablicę ze składowymi kolorów. Po dodaniu wszystkich kolorów sprawdzamy, czy dany piksel jest ciemny, czy też jasny. Ja przyjąłem próg równy 200. W rezultacie otrzymujemy dwuwymiarową tablicę z oddzielonym tekstem od tła. $sum = ''; for($x=0; $x<$width; $x++)
4 $count = 0; for($y=0; $y<$height; $y++) if($map[$x][$y] == undefined) $count++; $sum.= ($count == 0)? 'X' : $count; //echo $sum; Kolejnym krokiem jest zsumowanie wszystkich pikseli leżących w każdej kolumnie. Do tego celu znowu tworzymy dwie pętle, oraz zmienną $str, która zapisze wszystkie wyniki w jeden ciąg. Do kodu wprowadziłem małe udogodnienie: jeżeli w kolumnie nie ma ani jednego czarnego piksela (undefined), to zamiast cyfry zero zapisuje znak X. Pozwoli to uniknąć niedogodnień, przy rozbijaniu tego ciągu na poszczególne litery. Po wyświetleniu zmiennej ujrzymy mniejwięcej taki ciąg znaków: XXXXX XXX XXXX XXX XXX XXXX XXX XX XX A teraz wytłumaczę po co te literki, zamiast zera. Nasz skrypt będzie dzielił na poszczególne litery tam, gdzie znajdzie litery X. Jeśli byśmy nie dali litery to dzielony byłby tam, gdzie jest 0. Jednak, gdyby w kolumnie było 10 liter, to skrypt błędnie podzieliłby ciąg. Podział na poszczególne litery $sum = preg_replace('#x+#', 'X', $sum); $sum = trim($sum, 'X'); $letters = explode('x', $sum); Teraz dzielimy ciąg na wzorce liter. Najpierw za pomocą wyrażenia regularnego usuwamy powtarzające się litery X. Następnie usuwamy niepotrzebne litery z końca i z poczatku funkcją trim(), a na końcu dzielimy ciąg za pomocą funkcji explode na poszczególne wzorce. Efektem tego będzie taka oto tablica: Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => ) Jak widzimy posiada ona dokładnie tyle elementów, ile liter posiada nasz obrazek. Zauważmy, że elementy o kluczach 1, 2, 4 i 5 mają takie same wartości. Patrząc na obrazek widzimy również, że na tych pozycjach znajdują
5 się takie sameznaki - cyfry 1. Co z tego wynika? To, że tworząc bazę wzorców dla liter jesteśmy w stanie rozpoznać cały ciąg. Moja baza wygląda tak: $patterns = array( ' ' => '0', ' ' => '1', ' ' => 'a', ' ' => 'e', ' ' => 'f' //reszta liter ); Rozpoznawanie liter A teraz najlepsza część naszego skryptu, czyli rozpoznawanie: $token = ''; for($i=0; $i<count($letters); $i++) $token.= $patterns[$letters[$i]]; echo $token; I oto na ekranie ukazuje się nam ciąg znaków 011e11af, czyli rozwiązanie naszego tokenu. Jak widać odczytanie zawartości tokenu nie jest szczególnie trudną sprawą. Znajomośc podstawowych funkcji do obsługi grafiki z poziomu PHP pozwala nam bezbłędnie odczytywać tekst na obrazkach. Nawet jeśli nasz skrypt byłby omylny, to weźmy pod uwagę to, że bot może chodzić 24 godziny na dobę. I nawet przy 1% skuteczności, przy 1 zapytaniu na sekundę, po godzinie mamy zaspamowaną księgę gości. Tak więc zachęcam koderów do rozsądnego tworzenia zabezpieczeń. Zwracajcie uwagę na to co robicie, bo czasami odrobina lenistwa może dać nieoczekiwane efekty. Na koniec zamieszczam jeszcze link do całego kodu źródłowego. Przedruk dokonany za zgodą autora. Autor: Paweł Kuna Przedruk ze strony: Artykuł pobrano ze strony eioba.pl
Grafika PHP dla początkujących
Instrukcja numer 03 Grafika PHP dla początkujących Zaawansowane techniki tworzenie stron WWW Dynamiczne tworzenie obrazków w PHP zadanie_10.php
Celem tego projektu jest stworzenie
Prosty kalkulator Celem tego projektu jest stworzenie prostego kalkulatora, w którym użytkownik będzie podawał dwie liczby oraz działanie, które chce wykonać. Aplikacja będzie zwracała wynik tej operacji.
Być może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
Ćwiczenie: JavaScript Cookies (3x45 minut)
Ćwiczenie: JavaScript Cookies (3x45 minut) Cookies niewielkie porcje danych tekstowych, które mogą być przesyłane między serwerem a przeglądarką. Przeglądarka przechowuje te dane przez określony czas.
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią.
Temat 2 Kolory jako liczby Kodowanie obrazów Streszczenie Komputery do przechowywania rysunków, zdjęć i innych obrazów używają tylko liczb. Te zajęcia mają ukazać w jaki sposób to robią. Wiek 7 i więcej
Temat: Działania pisemne powtórzenie wiadomości z QR kodami.
Temat: Działania pisemne powtórzenie wiadomości z QR kodami. Scenariusz lekcji matematyki dla klasy czwartej szkoły podstawowej Czas: 1 godz. lekcyjna Cele ogólne: powtórzenie i utrwalenie wiadomości z
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Kl 7-8 Szkoła Podstawowa
Temat: Hello World! Hello Codey! Kl 7-8 Szkoła Podstawowa Przedmiot: informatyka Autor: Sylwester Zasoński Czas trwania: 1h lekcyjna Cele ogólne: Rozwijanie kompetencji miękkich (umiejętność pracy zespołowej,
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
Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia
Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, matematyka, obliczenia, algorytm
ZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
lekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Polcode Code Contest PHP-10.09
Polcode Code Contest PHP-10.09 Przedmiotem konkursu jest napisanie w języku PHP programu, którego wykonanie spowoduje rozwiązanie zadanego problemu i wyświetlenie rezultatu. Zadanie konkursowe Celem zadania
Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Obsługa obrazków w PHP Wprowadzenie Tworzenie i niszczenie obrazka Kolory Funkcje od obsługi obrazków - 1 - Wprowadzenie Przygotowanie
GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej
GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,
Wyrażenie wewnątrz nawiasów jest atomem (rozpatrujemy je jako całość).
Wyrażenia regularne pełnią istotną rolę w PHP. Umożliwiają one opisywanie i przetwarzanie długich ciągów znaków. Dzieje się to na zasadzie porównania danego ciągu znaków z określonym wzorem, ułożonym przez
Formaty obrazów rastrowych biblioteki PBM
Formaty obrazów rastrowych biblioteki PBM Reprezentacja obrazu Obrazy pobierane z kamery, bądź dowolnego innego źródła, mogą być składowane na pliku dyskowym w jednym z wielu istniejących formatów zapisu
TWORZENIE PREZENTACJI MS POWERPOINT
TWORZENIE PREZENTACJI MS POWERPOINT Wstęp TWORZENIE PREZENTACJI MS POWERPOINT Czasami zdarza się, że zostajemy poproszeni o poprowadzenia spotkania czy szkolenia w firmie, w której pracujemy lub po prostu
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Brandbook Logo. Część 2/A. Mazowieckie Samorządowe Centrum Doskonalenia Nauczycieli
Mazowieckie Samorządowe Centrum Doskonalenia Nauczycieli Brandbook Część 2/A podstawowe oznaczenie budowa i proporcje kolorystyka pole ochronne i minimalna wielkość znaku formy uzupełniające formy dodatkowe
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści
Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne
Analiza i przetwarzanie obrazów
Analiza i przetwarzanie obrazów Temat projektu: Aplikacja na system Android wyodrębniająca litery(znaki) z tekstu Marcin Nycz 1. Wstęp Tematem projektu była aplikacja na system Android do wyodrębniania
Co to jest arkusz kalkulacyjny?
Co to jest arkusz kalkulacyjny? Arkusz kalkulacyjny jest programem służącym do wykonywania obliczeń matematycznych. Za jego pomocą możemy również w czytelny sposób, wykonane obliczenia przedstawić w postaci
Programowanie w Baltie klasa VII
Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.
Przewodnik... Tworzenie Landing Page
Przewodnik... Tworzenie Landing Page Spis treści Kreator strony landing page Stwórz stronę Zarządzaj stronami 2 Kreator strony landing page Kreator pozwala stworzyć własną stronę internetową z unikalnym
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. ł ęść. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,
SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania ł ęść 1 SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania 2 I. Aimowany baner Animowany Baner 3 I. Aimowany baner
Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.
Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez
Dokumentacja WebMaster ver 1.0
1 Wstęp Dokumentacja WebMaster ver 1.0 Dokumentacja ta przeznaczona jest dla webmasterów, grafików, programistów. Przedstawia ona strukturę aplikacji SOTEeSKLEP, opisuje działanie oraz wyjaśnia m.in. jak
Grafika komputerowa. Dla DSI II
Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji
Pomorski Czarodziej 2016 Zadania. Kategoria C
Pomorski Czarodziej 2016 Zadania. Kategoria C Poniżej znajduje się 5 zadań. Za poprawne rozwiązanie każdego z nich możesz otrzymać 10 punktów. Jeżeli otrzymasz za zadanie maksymalną liczbę punktów, możesz
Wysyłanie pliku na serwer. Plik na serwerze.
Wysyłanie pliku na serwer Dzięki PHP możemy w łatwy i przyjemny sposób obsłużyć pliki uploadowane na serwer. Jednak, by prawidłowo wysłać plik, niezbędny będzie odpowiedni formularz HTML. Poniżej przedstawię
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,
Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:
Repozytorium służy do przechowywania plików powstających przy pracy nad projektami we w miarę usystematyzowany sposób. Sam mechanizm repozytorium jest zbliżony do działania systemu plików, czyli składa
Witryny i aplikacje internetowe
Test z przedmiotu Witryny i aplikacje internetowe Zadanie 1 Kod języka HTML przedstawi tabelę składającą się z dwóch
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe
ARCHITEKTURA KOMPUTERÓW Systemy liczbowe 20.10.2010 System Zakres znaków Przykład zapisu Dziesiętny ( DEC ) 0,1,2,3, 4,5,6,7,8,9 255 DEC Dwójkowy / Binarny ( BIN ) 0,1 11111 Ósemkowy ( OCT ) 0,1,2,3, 4,5,6,7
DODAWANIE I ODEJMOWANIE SUM ALGEBRAICZNYCH
DODAWANIE I ODEJMOWANIE SUM ALGEBRAICZNYCH Cele operacyjne Uczeń umie: budować wyrażenia algebraiczne, opuszczać nawiasy, redukować wyrazy podobne, dodawać i odejmować sumy algebraiczne. Metody nauczania
Optymalizacja logo strony. Krok po kroku... Spis treści
Spis treści Optymalizacja logo strony Krok po kroku... Dlaczego warto optymalizować logo strony? Jak optymalizować logo? - Krok 1 - Umieszczenie kodu logo na stronie. - Krok 2 - Dodawanie atrybutu title
8. Dynamiczne generowanie grafiki, cz. 2
8. Dynamiczne generowanie grafiki, cz. 2 8.1. Generowanie tekstu Chociaż tekst można umieścić na grafice korzystając z HTML (używając grafiki jako tła obiektu), często wygodniej jest umieścić tekst bezpośrednio
Liczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT
KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT Temat: Zaimplementować system kryptografii wizualnej http://www.cacr.math.uwaterloo.ca/~dstinson/visual.html Autor: Tomasz Mitręga NSMW Grupa 1 Sekcja 2 1. Temat projektu
Ćwiczenie 8 Kolory i znaki specjalne
Ćwiczenie 8 Kolory i znaki specjalne W ćwiczeniu 8 zajmować się będziemy kolorami i znakami specjalnymi. Barwę moŝna utworzyć mieszając w odpowiednich proporcjach trzy kolory podstawowe: czerwony, zielony
7. Pętle for. Przykłady
. Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i
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
Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000
SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości
Szyfr ten w odróżnieniu od prostych szyfrów różni się tym że literę zastępuje się obrazkiem, a nie inną literą.
Z biblioteki w tajemniczych okolicznościach ginie cenny historyczny dokument. Jaką tajemnicę kryje stara biblioteka? Miejsce pełne zagadkowych zakamarków, nieoczekiwanych zaułków, sekretnych przejść i
Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym
S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu
WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW SZKÓŁ PODSTAWOWYCH ETAP SZKOLNY BIAŁYSTOK, 19 LISTOPADA 2018 R.
WOJEWÓDZKI KONKURS INFORMATYCZNY DLA UCZNIÓW SZKÓŁ PODSTAWOWYCH ETAP SZKOLNY BIAŁYSTOK, 19 LISTOPADA 2018 R. INSTRUKCJA DLA UCZESTNIKA KONKURSU: 1. Sprawdź, czy test zawiera 7 stron. Ewentualny brak stron
Wymagania edukacyjne - Informatyka w klasie I
Wymagania edukacyjne - Informatyka w klasie I Poziom niski wyrażony cyfrą 2 wymagania konieczne. Uczeń ma duże trudności ze spełnieniem wymagań, potrzebuje częstej pomocy nauczyciela. Poziom dostateczny
Dane - pobieranie, przekazywanie i przechowywanie. dr Beata Kuźmińska-Sołśnia
Dane - pobieranie, przekazywanie i przechowywanie dr Beata Kuźmińska-Sołśnia Definicja funkcji function nazwa (lista parametrów) { blok instrukcji Użycie instrukcji return wartość kończy działanie funkcji
Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek
Nazwa implementacji: Nauka języka Python pętla for Autor: Piotr Fiorek Opis implementacji: Poznanie innego rodzaju pętli, jaką jest pętla for w języku Python. Składnia pętli for jest następująca: for
Podstawy 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
PROGRAMOWANIE CZAS ZACZĄĆ
PROGRAMOWANIE CZAS ZACZĄĆ spotkanie informacyjno-warsztatowe NAUKA PROGRAMOWANIA Z WYKORZYSTANIEM OZOBOTÓW Ozoboty, to małe eduroboty, które można programować z niespotykaną łatwością. Dzieci z klas 1-3
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)
ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM) LABORATORIUM 5 - LOKALIZACJA OBIEKTÓW METODĄ HISTOGRAMU KOLORU 1. WYBÓR LOKALIZOWANEGO OBIEKTU Pierwszy etap laboratorium polega na wybraniu lokalizowanego obiektu.
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2016 CZĘŚĆ PRAKTYCZNA
Arkusz zawiera informacje prawnie Układ graficzny CKE 2016 chronione do momentu rozpoczęcia egzaminu CENTRALNA KOMISJA EGZAMINACYJNA Nazwa kwalifikacji: Twmzenie aplikacji internetowych i baz danych oraz
Grafika rastrowa (bitmapa)-
Grafika komputerowa Grafika rastrowa Grafika rastrowa (bitmapa)- sposób zapisu obrazów w postaci prostokątnej tablicy wartości, opisujących kolory poszczególnych punktów obrazu (prostokątów składowych).
Wykonawca: PIOTR DOMALEWSKI. Termin oddania sprawozdania: 30.08
SPRAWOZDANIE Z LABORATORIUM Przedmiot: KOMUNIKACJA CZŁOWIEK KOMPUTER Temat ćwiczenia: ZNACZENIE BARWY W PROJEKTOWANIU INTERFEJSU UŻYTKOWNIKA Kierunek: Informatyka Tryb / semestr: Zaoczne / VI Termin wykonania
WOJSKOWA AKADEMIA TECHNICZNA
WOJSKOWA AKADEMIA TECHNICZNA PROJEKT METODY I ZADANIA ROZPOZNAWANIA WZORCÓW Stopień, imię i nazwisko prowadzącego Stopień, imię i nazwisko słuchacza Grupa szkoleniowa prof. dr hab. inż. Włodzimierz Kwiatkowski
PLAN WYNIKOWY Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY 6
PLAN WYNIKOWY Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY 6 TEMAT SPOTKANIA Sprzęt i oprogramowanie. Wirusy komputerowe. PODSTAWA PROGRAMOWA 2.3 7.1 7.2 1.6 WYMAGANIA EDUKACYJNE PODSTAWOWE PONADPODSTAWOWE UCZEŃ: UCZEŃ:
Zajęcia nr 15 JavaScript wprowadzenie do JavaScript
Zajęcia nr 15 JavaScript wprowadzenie do JavaScript Prowadzący: Andrzej Gąsienica-Samek, strona kółka www.atinea.pl/kolko Wprowadzenie do jsfiddle.net Uruchom Chrome i wejdź na stronę http://jsfiddle.net.
Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI
1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje
Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
inż. Konrad Postawa Akademia Aktywnego Seniora Wolontariusza
inż. Konrad Postawa Akademia Aktywnego Seniora Wolontariusza W ramach programu: Organizator: Wrocław 2012 Tworzenie prezentacji MS PowerPoint Wstęp TWORZENIE PREZENTACJI MS POWERPOINT Czasami zdarza się,
// Potrzebne do memset oraz memcpy, czyli kopiowania bloków
ZAWARTOŚCI 3 PLIKOW W WORDZIE: MAIN.CPP: #include #include #include pamięci // Potrzebne do memset oraz memcpy, czyli kopiowania bloków #include "Rysowanie_BMP.h" using
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.
Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania
Nazwa kwalifikacji: Wykonywanie i realizacja projektów multimedialnych Oznaczenie kwalifikacji: A.25 Numer zadania: 01
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu Układ graficzny CKE 2016 Nazwa kwalifikacji: Wykonywanie i realizacja projektów multimedialnych Oznaczenie kwalifikacji: A.25
PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI
Wpisuje zdający przed rozpoczęciem pracy PESEL ZDAJĄCEGO Miejsce na nalepkę z kodem szkoły PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI Arkusz I Instrukcja dla zdającego Czas pracy 90 minut 1. Proszą sprawdzić,
Funkcje wbudowane PHP
Funkcje wbudowane PHP Funkcje daty i czasu Funkcja time() zwraca informacje na temat bieżącej daty i czasu. Nie posiada żadnych argumentów. Informacje o czasie dacie zwraca w formie liczby Liczba odpowiada
CSS. Kaskadowe Arkusze Stylów
CSS Kaskadowe Arkusze Stylów CSS CSS = Cascading Style Sheets Style określają sposób wyświetlania zawartości elementów HTML Arkusz stylów jest zbiorem takich reguł Pojawiły się w HTML 4.0 by rozwiązać
EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu Układ graficzny CKE 2018 Nazwa kwalifikacji: Wykonywanie i realizacja projektów multimedialnych Oznaczenie kwalifikacji: A.25
FUNKCJA LINIOWA - WYKRES
FUNKCJA LINIOWA - WYKRES Wzór funkcji liniowej (Postać kierunkowa) Funkcja liniowa jest podstawowym typem funkcji. Jest to funkcja o wzorze: y = ax + b a i b to współczynniki funkcji, które mają wartości
SMS Kod Automatyczny
Dokumentacja 2.0.0 SMS Kod Automatyczny Dokumentacja dla SMS Kod Automatyczny Web Service REST CashBill Spółka Akcyjna ul. Rejtana 20, 41-300 Dąbrowa Górnicza Tel.: +48 032 764-18-42 Fax: +48 032 764-18-40
Pokażę w jaki sposób można zrobić prostą grafikę programem GIMP. 1. Uruchom aplikację GIMP klikając w ikonę na pulpicie.
Tworzenie grafiki Jest wiele oprogramowania służącego tworzeniu grafiki. Wiele z nich daje tylko podstawowe możliwości (np. Paint). Są też programy o rozbudowanych możliwościach przeznaczone do robienia
kryptografię (z gr. κρυπτός oraz γράφω gráfo pisać ), czyli gałąź wiedzy o utajnianiu wiadomości;
Już w starożytności ludzie używali szyfrów do przesyłania tajnych wiadomości. Początkowo były one proste, jednak z biegiem czasu wprowadzano coraz bardziej skomplikowane metody szyfrowania. Wraz z rozwojem
Dokumentacja API BizIn
Dokumentacja API BizIn Spis treści Wstęp... 1 Dostęp do API BizIn... 1 Identyfikatory API... 1 Dostępne akcje... 3 Przykład wywołania API w języku PHP... 3 Pobieranie danych... 3 Wystawianie dokumentu
Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego
Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego Krótkie informacje o programie można znaleźć zarówno w pliku readme.txt zamieszczonym w podkatalogu DANE jak i w zakładce O programie znajdującej
MODUŁ 3. WYMAGANIA EGZAMINACYJNE Z PRZYKŁADAMI ZADAŃ
MODUŁ 3. WYMAGANIA EGZAMINACYJNE Z PRZYKŁADAMI ZADAŃ E.14. Tworzenie aplikacji internetowych i baz danych oraz administrowanie bazami 1. Przykłady zadań do części pisemnej egzaminu dla wybranych umiejętności
Podstawy pozycjonowania CSS
Podstawy pozycjonowania CSS Żeby pokazać w jaki sposób przeglądarka rozkłada elementy na stronie posłużę się prostym przykładowym fragmentem kodu html. div id="before"
Tabele. Przykład 15a.htm. <HTML><HEAD><TITLE> Cennik</TITLE></HEAD><BODY><H3>Cennik</H3> <TABLE BORDER="1"> <TR>
Tabele Autorem niniejszego skryptu jest dr inż. Robert Kolud Tabele w HTML to nie tylko praktyczny sposób na przedstawianie zestawień informacji. Znacznie częściej jednak tabele są wygodnym narzędziem
O systemie Advertway. Rozwiązania Advertway. 1. AdvertwayCAPTCHA
O systemie Advertway. Advertway to przede wszystkim innowacyjne podejście do reklamy online. Wprowadzamy rozwiązania, które nie mają swoich odpowiedników na rynku. To całkowicie nowy sposób emisji przekazu
EGZAMIN MATURALNY Z INFORMATYKI MAJ 2010 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY
Centralna Komisja Egzaminacyjna Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2010 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY
Instrukcja korzystania z przeglądarki ksiąg wieczystych udostępnionej w sieci publicznej Internet
Instrukcja korzystania z przeglądarki ksiąg wieczystych udostępnionej w sieci publicznej Internet 1. Na stronie internetowej Ministerstwa Sprawiedliwości w menu Rejestry i ewidencje i podmenu Nowa księga
Spis treści. Programowanie w ImageJ. Zadanie 1. Zadanie 2
Spis treści 1 Programowanie w ImageJ 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 1.5 Zadanie 5 Programowanie w ImageJ Zadanie 1 Mamy obraz rtg płuc w formacie jpg, w 8-bitowej skali szarości.
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Projekt Śnieżna wojna
Nazwa implementacji: Stworzenie gry "Śnieżna wojna" Autor: mdemski Opis implementacji: Scenariusz gry "Śnieżna wojna" oraz implementacja w Scratch 2.0. Wersja podstawowa i propozycja rozbudowy gry dla
CEL zapoznanie z programem do tworzenia rysunków i ukazanie możliwości Edytora obrazów do sporządzania rysunków i ikon.
Konspekt lekcji informatyki Rok szk. 2003/2004 Temat: Tworzenie ikon z wykorzystaniem Edytora obrazów Hasło programowe: Czas: Klasa: Nauczyciel: Rysowanie w Edytorze grafiki 45 min I Gimnazjum mgr inż.
Część II Wyświetlanie obrazów
Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer
Tworzenie szablonów użytkownika
Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera
Pomoc 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
Podstawy programowania w C++
Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Publikacja jest dystrybuowana bezpłatnie Program Operacyjny Kapitał Ludzki Priorytet 9 Działanie 9.1 Poddziałanie
Spad obciąć jest bardzo łatwo przy jednolitym tle
CZEGO AUTORZY NIE WIEDZĄ O KONTAKTACH Z WYDAWCĄ Projektowanie okładki ebooka i książki Grażyna Dobromilska Jedno z wymagań procesu druku, które chciałabym szczegółowo omówić na przykładach, bo jest to
Programowanie i techniki algorytmiczne
Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej
Księgarnia internetowa Lubię to!» Nasza społeczność
Kup książkę Poleć książkę Oceń książkę Księgarnia internetowa Lubię to!» Nasza społeczność Spis treści Rozdział 1. Zastosowanie komputera w życiu codziennym... 5 Rozdział 2. Elementy zestawu komputerowego...13