Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Zabezpieczenia formularzy
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Zabezpieczenia formularzy
Technologie webowe

Zabezpieczenia formularzy

WebInside.pl
Ostatnia aktualizacja: 24.07.2003
WebInside.pl
Udostępnij
Udostępnij

Niemal wszyscy w swoich aplikacjach korzystają z formularzy, ale nie wiedzą że to jest niebezpieczne. Chytry użytkownik może to wykorzystać, jeżeli chcesz zabezpieczyć swoje formularze, przeczytaj ten artykuł.

Jeżeli korzystasz z PHP niemal pewnym jest że używasz w swoich skryptach różnych pól formularzy. I słusznie, są one pewną formą interakcji z użytkownikiem. Z pewnością większość z was nigdy nie zastanawiała się nad tym że ktoś może próbować załamać wasz skrypt. Mówiąc załamać mam na myśli użycie go do nie zamierzonego celu, lub w niezamierzony sposób. Nie trzeba być hakerem aby „rozpracować” stronę z kiepsko zrobionym skryptem, otóż załamać taki skrypt jest bardzo łatwo. To co przedstawię w tym artykule ma na celu przekazanie wam wiedzy w celu ulepszenia swoich skryptów, a nie załamywanie skryptów kogoś innego. Jeżeli wykryjecie na czyjejś stronie takie skrypty natychmiast dajcie znać administratorowi serwisu. Oczywiście nie będę tu uczył hakerstwa, powiem tylko co się może ewentualnie stać…

Zacznę od podania prostego przykładu. Wyobraźmy sobie że napisaliśmy skrypt, dzięki któremu każdy kto odwiedza twoją stronę może się do niego dopisać… Oczywiście jest to bardzo prosty skrypt, wpisuje się w pole tekstowe swoje imię i nazwisko, wciska guzik i po kłopocie. A teraz wyobraźmy sobie jakiegoś dowcipnisia który wpisuje w pole tekstowe coś takiego:

<h1><b style=”font-family:Arial; border-style: solid”>Jaś Kowalski</b></h1>

Wyobrażacie sobie jak to będzie wyglądało??? Ktoś następny wchodzi i od razu rzuca mu się napis Jaś Kowalski… Łatwy sposób na reklamę. Jak się przed czymś takim ustrzec, nic prostszego, przykładowo gdy zapisujemy wartość pola tekstowego do zmiennej $nazwisko, przed wyświetleniem jej na stronie możemy użyć instrukcji:

$nazwisko = strip_tags($nazwisko);

w wyniku zostanie wyświetlone sam napis „Jaś Kowalski”, ponieważ funkcja strip_tags() usuwa z podanego łańcucha znaków wszystkie znaczniki. Możemy Jasia załatwić w inny sposób, używając funkcji HTMLSpecialChars() w taki sposób:

$nazwisko = HTMLSpecialChars($nazwisko);

wtedy dla Jasia ukaże się dokładnie to co napisał, czyli:

<h1><b style=”font-family:Arial; border-style: solid”>Jaś Kowalski</b></h1>

z tego wpisu będzie widać co najwyżej że Jasio to cwaniak który zna HTML i wydaje się mu że jest Haker.

Taki Jasio jest jednak nie szkodliwy, co najwyżej śmieszny… Wyobraźmy sobie sytuację kiedy naszą stronę odwiedza starszy brat Jasia, Staś. Stasio ma o sobie większe mniemanie i wchodzi na stronę na której loguje się administrator, jest tam pole tekstowe w które należy wpisać hasło… Staś wpisuje nam coś takiego:

eval(” echo strip_tags( implode( ’ ’ , file( $PHP_SELF ) ) ) „);

nieco skomplikowany zapis, ale całkiem niebezpieczny, co prawda nie ma za wielkich szans na powodzenie, ale owszem może się udać. Funkcja eval() wykonuje łańcuch znaków zawarty wewnątrz jej jak gdyby był kodem PHP. funkcja echo wypisuje podaną wartość na ekran. Funkcja strip_tags, jak już wspominałem usuwa z podanego łańcucha znaków znaczniki HTMl i PHP. Funkcja file() zwraca podany plik w postaci tablicy, gdzie każdy element jest kolejną linią pliku. A $PHP_SELF to stała PHP zawierająca adres aktualnego dokumentu. A funkcja implode() łączy podana tablice w jeden ciąg. Jak nie trudno się domyślić, ta instrukcja pobierze aktualną stronę i wyświetli jej zawartość. Jeżeli sprawdzanie hasła odbywa się na stronie, najprawdopodobniej Stasio dostanie się do hasła… Jak tego uniknąć? Bardzo prosto, również używając funkcji strip_tags() na zmiennej przechowującej hasło przed jej wykorzystaniem.

W porządku, jeśli jednak mamy rozbudowany formularz, takie sprawdzanie każdej zmiennej może być żmudne, wtedy po prostu trzeba sobie napisać odpowiednią funkcję… Oto drobny przykład.

function spr( $wartosc )
{
$wartosc = strip_tags( $wartosc );
}

i gotowe, funkcja nie zwraca wartości aby była krótsza i szybsza, po prostu będziemy przekazywać parametr przez zmienną. Przykładowo mamy zmienne zawierające wartości pól formularza: $imie, $nazwisko, $wiek. Aby je sprawdzić wpisujemy tak:

spr(&imie);
spr(&nazwisko);
spr(&wiek);

i po kłopocie, dzięki tej prostej funkcji możecie sobie oszczędzić wielu kłopotów, a przykładowy Jaś i Staś będą musieli albo znaleźć nowe sztuczki albo nauczyć się prawdziwego Hakerstwa.

Może Cię zainteresować

Jak wybrać agencję do tworzenia strony internetowej w Warszawie?

Lovable – recenzja po 3 miesiącach. Cennik, opinie, kredyty, limity

Stanowisko web developera w 2026: co naprawdę przyspiesza pracę — i za co nie warto przepłacać

AI kontra klasyczne kreatory stron: kto tu naprawdę wygrywa?

Jak wybrać i zarejestrować domenę? Praktyczny przewodnik dla firm i osób prywatnych

WebInside.pl 2003-07-24 2003-07-24
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Przeglądanie tablic w PHP
Następny artykuł Przekazywanie przez wartosć, zmienną
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Gry akcji na PC z dobrą optymalizacją na średni sprzęt
Artykuły partnerskie
screen showing bitcoin trading chart
Dobre giełdy kryptowalut – po czym je poznać, zanim wpłacisz pierwsze 100 zł
Artykuły partnerskie
Jak wybrać platformę e-commerce dla rozwijającego się sklepu?
Artykuły partnerskie
man facing three computer monitors while sitting
JetBrains w 2026 roku: jaką licencję wybrać i jak zaoszczędzić na zakupie?
e(Biznes)
Printerio – profesjonalna poligrafia dla firm, które chcą wyglądać dobrze na papierze
Artykuły partnerskie
Reklama jest dobra, a strona, na którą prowadzi, sprzedaje słabo. Pięć kontroli, zanim podniesiesz budżet
Artykuły partnerskie
a blue button with a white arrow on it
5 Best VPS Hosts to Run Telegram Bots 24/7 Without Interruptions
Artykuły partnerskie
Ryczałt 12% czy liniowy z IP Box? Programista na B2B wybiera formę opodatkowania na 2027 rok
Aktualności
Handlowiec na etat czy zewnętrzny zespół? Porównanie kosztów w 2026 roku
Artykuły partnerskie
Aplikacja Bybit – opinie o aplikacji mobilnej Bybit.eu na Androida i iOS
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Jak wybrać agencję do tworzenia strony internetowej w Warszawie?

3 min czytania

Lovable – recenzja po 3 miesiącach. Cennik, opinie, kredyty, limity

15 min czytania
Technologie webowe

Stanowisko web developera w 2026: co naprawdę przyspiesza pracę — i za co nie warto przepłacać

7 min czytania
a computer screen with the words the easy way to build marketplaces
Technologie webowe

AI kontra klasyczne kreatory stron: kto tu naprawdę wygrywa?

5 min czytania
Technologie webowe

Jak wybrać i zarejestrować domenę? Praktyczny przewodnik dla firm i osób prywatnych

5 min czytania
Technologie webowe

Komentarze w CSS – jak dodawać i do czego służą? Przykłady użycia

17 min czytania
Technologie webowe

Co to jest REST API i na jakich zasadach działa? Przewodnik dla początkujących

21 min czytania
Technologie webowe

Marginesy i dopełnienie w CSS – czym się różnią właściwości margin i padding?

17 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy



Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Gry akcji na PC z dobrą optymalizacją na średni sprzęt
  • Dobre giełdy kryptowalut – po czym je poznać, zanim wpłacisz pierwsze 100 zł
  • Jak wybrać platformę e-commerce dla rozwijającego się sklepu?
  • JetBrains w 2026 roku: jaką licencję wybrać i jak zaoszczędzić na zakupie?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?