![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Witam,
Od dwóch dni główkuje jak zrobić poprawnie sprawdzenie danych przesyłanych w formularzu. Chcę aby były akceptowane tylko litery małe, duże + polski alfabet + spacje + cyfry Próbowałem :
Przegooglowałem, poczytałem, próbowałem na wiele sposobów ale nadal mi nie działa tak jak chcę. Ten post edytował Lethys 20.11.2011, 18:45:49 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Dziękuje za tak wyczerpującą odpowiedź (IMG:style_emoticons/default/smile.gif)
Tylko zrodziło mi się pytanie w głowie czy nie łatwiej po prostu wypisać zakazane znaki (które w adresie strony nie występują) i jeżeli dane adres je posiada to blokować dalszy skrypt? Druga sprawa, czy blokując wszystkie "niebezpieczne" dane w formularzu i POST przez właśnie preg_match nie bronie się przed sql_injection? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Druga sprawa, czy blokując wszystkie "niebezpieczne" dane w formularzu i POST przez właśnie preg_match nie bronie się przed sql_injection? A może tak zamiast się przed tym bronić to uczynić je poprawnymi i bezpiecznymi?? Wszystko zależy, jakie masz typy formularzy... Firma: Jan Kowalski "Primawera" I co - w powyższym nie pozwolisz na wprowadzanie cudzysłowów?? Odpowiednio spreparowany kod jeśli dane potem nie są odpowiednio wyświetlane pozwala na rozwalenie kodu html... gdy do wyświetlania wystarczy coś w stylu htmlspecialchars. Fakt, jeśli w bazie nie chcesz mieć śmieci to jakoś minimalnie pod kontem poprawności powinno to się kontrolować... co do SQL iniection to jak już wspomniałem najlepiej prepare w PDO... o adresie strony to wspomniałem właśnie o tym - czyli chyba prościej w drugą stronę no to np. (ale baaardzo ograniczona filtracja) Kod /^(?!.*(?:[\-\.]){2,})[^\s]{2,}\.[a-zA-Z]{2,5}(?:\/[^\s]*)?$/ dodaj sobie tam do tablicy znaków zakazanych co tam uważasz... i początek (?!.*(?:[\-\.]){2,}) jest tam nie potrzebny... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:12 |