Często zdarza się, że chcemy ograniczyć liczbę znaków jaką można wpisać w komentarzu na naszej stronie. Można to zrobić poprzez walidację po stronie serwera. Jest to jednak niewygodne dla użytkownika, który zamiast zapisanego komentarza otrzymuje komunikat o przekroczonej liczbie znaków. Dochodzi do paradoksu, że użytkownik powinien liczyć użyte znaki, aby zmieścić się w określonym limicie. Innym rozwiązaniem jest ucięcie komentarza i zapisanie tylko pierwszych x znaków, np. 255 znaków. To jednak sprawi, że na naszej stronie znajdzie się dużo poobcinanych komentarzy. Nie będzie to wyglądać zbyt estetycznie.

Idealnym rozwiązaniem jest zliczanie liczby znaków po stronie klienta/użytkownika i zablokowanie możliwości wpisania większej liczby znaków niż zakłada przyjęty przez nas limit. Rozwiązanie to jest dobre, ponieważ użytkownik widzi ile znaków wykorzystał i w każdym momencie może przeredagować swoją wypowiedź. W celu osiągnięcia takiego rozwiązania posłużymy się JavaScriptem.

Read the rest of this entry »

JavaScript: odliczanie do jakiegoś wydarzenia

Autor: Arkadiusz Tobiasz 20 września 2009 komentarzy 10

Dzisiaj przedstawię skrypt napisany w JavaScripcie, który pozwala na dynamiczne odliczanie do jakiegoś wydarzenia. Sam prowadzę stronę o pewnym serialu, gdzie potrzebowałem takiego skryptu, aby odliczać czas do premiery kolejnego odcinka. Oprócz tego wspomniany skrypt pobiera dane z bazy MySQL, dlatego też nie muszę się bawić w każdorazowe ręczne modyfikowanie skryptu, kiedy emisja danego odcinka miała już miejsce.

Read the rest of this entry »

Bezpieczeństwo aplikacji webowych cz. I

Autor: Arkadiusz Tobiasz 1 września 2009 SKOMENTUJ

W tym artykule, który w zamierzeniach ma być kontynuowany dowiesz się jak pisać bezpieczne aplikacje webowe, a raczej jakich błędów należy unikać przy programowaniu. Obecnie istnieje bardzo wiele typów ataków, których ofiarą może paść nasza strona www, o ile nie jest prawidłowo zabezpieczona. Szczególnie ważne jest bezpieczeństwo stron, które przechowują dane.

Podstawowym błędem jaki popełnia większość początkujących programistów to całkowity brak walidacji wprowadzanych danych wejściowych przez użytkownika naszej strony. Powodem tego jest przede wszystkim założenie, że nikt nie będzie próbował włamać się na jego stronę. Jednak nic bardziej mylnego… Read the rest of this entry »

Ajax: jak zrobić dynamiczne zakładki?

Autor: Arkadiusz Tobiasz 30 czerwca 2009 1 KOMENTARZ

Ajax jest coraz częściej wykorzystywaną technologią na dużych portal, ale również na tych mniejszych. W tym tutorialu dowiesz się w jaki sposób zrobić efektowne, dynamiczne zakładki, które będą mogły posłużyć na twoim portalu jako np. menu czy prezentację newsów. Wykorzystam skrypt pobrany ze strony www.dynamicdrive.com.

W tym celu utworzymy dwa pliki. Pierwszy o nazwie ajaxtabs.css będzie odpowiedzialny za styl naszych zakładek. Poniżej możecie zobaczyć jego strukturę: Read the rest of this entry »

FPDF: Czyli generujemy PDF za pomocą PHP

Autor: Arkadiusz Tobiasz 4 kwietnia 2009 komentarzy 14

Dzisiaj pokaże Wam w jaki sposób przy użyciu PHP można wygenerować plik PDF. Aby rozpocząć całą zabawę będziemy potrzebować Bibliotekę FPDF, którą możecie pobrać stąd. To jeszcze nie wszystko. Musimy pobrać także polską czcionkę, aby były wyświetlanie wszystkie znaki poprawnie. Pobierz stąd paczkę i rozpakuj ją do katalogu fpdf/font/. Następnie cały katalog biblioteki kopiujesz na serwer.
Read the rest of this entry »

Ataki SQL Injection

Autor: Arkadiusz Tobiasz 31 grudnia 2008 1 KOMENTARZ

hakin9_1_2009_pl-kopiaSQL Injection to technika ataku sieciowego, której poświeciony jest artykuł w najnowszym, styczniowym numerze pisma Hakin9. W tym artykule możecie poznać techniki takiego ataku, ale także dowiemy się jak się przed takimi atakami bronić. Najbardziej znanym przykładem podatności na tego typu ataki jest błędna walidacja danych wprowadzanych podczas logowania. Atakujący chce się dostać do części dla zalogowanych użytkowników na stronie napisanej w technologi ASP połączonej z serwerem baz danych SQL Server. Zapytanie wykonywane po wysłaniu formularza z danymi do logowania wygląda następująco:

1
2
3
4
strUsername = request.form("username");
strPassword = request.form("password");

"SELECT userID FROM useres WHERE username = ''' & strUsernam & ''' AND password = ''' & strPassword & '''

Read the rest of this entry »

PHP: register_globals

Autor: Arkadiusz Tobiasz 2 listopada 2008 SKOMENTUJ

Czytając magazyn „Hakin9” natknąłem się na ciekawy artykuł dotyczący bezpieczeństwa w PHP – „BHP w PHP”. Artykuł ukazuje najbardziej słabe punkty tej jednej z najpopularniejszych technologii wykorzystywanej do tworzenia dynamicznych stron interetowych. Ten wpis jest dla osób zaczynających dopiero „zabawę” z PHP, a także tych, którzy chcieliby się jeszcze czegoś dowiedzieć o słabych punktach tej technologii.

Najsłynniejszym problemem w PHP jest dyrektywa register_globals, która została usunięta od wersji 6.0.0, a od wersji 4.2.0 jest domyślnie wyłączona (administrator serwera mógł ją włączyć). Co było nie tak z tą dyrektywą? Read the rest of this entry »

JavaScript: zmiana zdjęcia bez przeładowania strony

Autor: Arkadiusz Tobiasz 9 września 2008 komentarze 3

Dzisiaj chciałem Wam pokazać pewien trik 😉 Otóż jeśli chciałbyś stworzyć na swojej stronie małą galerię z jednym dużym zdjęciem i x miniaturkami, to tradycyjnie, aby obejrzeć te x miniaturek powiększonych musiałbyś x razy przeładować stronę. Jest jednak sposób, aby zmienić zdjęcia bez przeładowania strony. Read the rest of this entry »

Ajax: powiązane pola select

Autor: Arkadiusz Tobiasz 7 września 2008 komentarzy 38

Nieraz w serwisach internetowych widziałeś dynamiczne pola select, które uaktywniały się po wyborze opcji z pierwszego selecta. Jeśli chcesz mieć coś takiego na swojej stronie, to ten wpis jest dla Ciebie. Postaram się tutaj krok po kroku pokazać jak to zrobić.
Read the rest of this entry »

Arkadiusz Tobiasz student Akademii Ekonomicznej im. Karola Adamieckiego w Katowicach na specjalnościach informatyka ekonomiczna oraz rachunkowość. Więcej...

jQuery Validation i funkcja remote

Jakiś czas temu zwrócił się do mnie użytkownik z problemem. Chodzi o to, że korzysta on z pluginu walidacji jQuery, […]

Zend Framework: integracja z Uploadify

W tym wpisie postaram się przedstawić Wam w jaki sposób zintegrować skrypt Uploadify z Zend Frameworkiem. Dzięki temu będziemy mogli […]

Javascript: Czasowe wyświetlanie reklamy

Czasami chcemy, aby na pewnym elemencie naszej strony wyświetlała się reklama przez jakiś czas, a następnie zniknęła. W tym wpisie […]

Linux: backup wszystkich baz danych MySQL

Swego czasu pisałem o tym jak z poziomu konsoli można szybko i przyjemnie zrobić backup bazy MySQL. Wszystko jest ładnie […]