• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Walidacja formularza

VPS Starter Arubacloud
0 głosów
421 wizyt
pytanie zadane 5 sierpnia 2020 w JavaScript przez b1aster Nowicjusz (120 p.)

Bardzo dziękuję za fantastyczny trop na uniknięcie botów. Ale jak konkretnie można by zrobić takie pole? Samo ukrycie to pestka, ale jak go "okodować", żeby tylko i wyłącznie pole puste było warunkiem koniecznym do wysłania? Kod wygląda np. tak:

<input type="text" name="Imię" placeholder="Imię" required="">

Oczywiście w tym przypadku musi być ono wypełnione, żeby formularz został wysłany. Co w związku z tym można wpisać zamiast required?

związane z odpowiedzią na: Jak zabezpieczyc formularz przed spamem

2 odpowiedzi

0 głosów
odpowiedź 5 sierpnia 2020 przez Ehlert Ekspert (212,630 p.)

Jeśli dobrze zrozumiałem potrzebujesz:

  1. Input type hidden 
  2. Token csrf
  3. Captchę
komentarz 6 sierpnia 2020 przez b1aster Nowicjusz (120 p.)
Chodziło mi raczej o to jak zrobić takie pole żeby jego niezaznaczenie było warunkiem do wysłania formularza. Przykładowo jest 5 pól które muszą być wypełnione ( required="" ) i jeszcze jedno które musi być puste. Wtedy można wysłać formularz.
komentarz 6 sierpnia 2020 przez jankustosz1 Nałogowiec (35,880 p.)
Bez captchy żadne sztuczki nie zabezpieczą przez botami, choć captche też można relatywnie tanio łamać.

Selenium wykonuje js i nie ważne co tam wrzucisz zachowa się jak zwykły użytkownik.

Jeżeli ktoś robi bota na requestach to przede wszystkim patrzy na network, a nie na to jakie masz pola w htmlu. Więc tu także jakieś ukryte pola sensu nie mają.
komentarz 6 sierpnia 2020 przez Ehlert Ekspert (212,630 p.)

@b1aster, no to ogarnij jakąś bibliotekę js do walidacji formularzy. 

@jankustosz1 polecam poczytać, czym jest token csrf.

komentarz 6 sierpnia 2020 przez jankustosz1 Nałogowiec (35,880 p.)
Jeżeli dobrze rozumiałem token CSRF jest po to by mieć pewność, że przekierowanie/request na daną stronę nastąpiło z oryginalnej strony, a nie z np. strony hakera, aby np. haker nie mógł zmusić nas do requestu na stronę banku który przeleje mu pieniądze, akurat, gdy jesteśmy w 2 karcie zalogowani do tegoż banku.

Nie bardzo widzę związku z tym, a zabezpieczeniem przed botem. Bot nie ma problemu by trzymać ciasteczka sesji.

Autor chyba dał mylący tytuł, bo nie chodzi mu o walidację formularza, a raczej zabezpieczeniem przed botami.
0 głosów
odpowiedź 6 sierpnia 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
edycja 6 sierpnia 2020 przez _Pita_

Takie zabezpieczenie nie jest według mnie dobrym rozwiązaniem, o wiele bardziej polecam reCaptche od Google....

Ale jeśli chcesz użyć swojego sposobu, to polecam użyć standardowej walidacji, czyli:

<?php
if($_POST['imie'] != "" ){
echo  "To pole powinno być puste"
}
else{
//Pole jest puste
}

?>

 (PHP)

Oczywiście input może (a nawet powinien) mieć display: none albo inny tego typu atrybut.

P.S

Nie jest to wymóg i prawdopodobnie zadziała bez tego ale proponuję usunięcie polskich znaków w atrybucie name.

komentarz 6 sierpnia 2020 przez Ehlert Ekspert (212,630 p.)
To co napisałeś wyżej to nie jest walidacja, ba określiłbym to jako niebezpieczne.

Dla inuptów type hidden, a nie display none.
komentarz 6 sierpnia 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

ba określiłbym to jako niebezpieczne.

To, że sposób jest zły, podkreśliłem na początku, dodając, że powinno używać się reCaptcha

To co napisałeś wyżej to nie jest walidacja,

Walidacja (ang. validation) – w naukach technicznych i informatyce działanie mające na celu potwierdzenie w sposób udokumentowany i zgodny z założeniami, że procedury, procesy, urządzenia, materiały, czynności i systemy rzeczywiście prowadzą do zaplanowanych wyników.

Wikipedia

Mój kod php ma na celu sprawdzić, czy input jest pusty ("Czy procesy prowadzą do pustej zmiennej "$_POST[' '] ")

Dla inuptów type hidden, a nie display none.

Jest jakaś różnica w efekcie? Dodałem  " albo inny tego typu atrybut." type hidden chyba się do tego zalicza... Nie jestem też pewien,czy inputy typu hidden wysyłają POST

komentarz 6 sierpnia 2020 przez Ehlert Ekspert (212,630 p.)

Captcha to zabezpieczenie przed botami. Ja nawiązywałem do tego marnego ifa, który jest wzorowany na kursach MZ. Niebezpieczeństwo niesie ze sobą użycie operatora !=

Oczywiście że hidden jest wysyłany. Po co komu niewidoczny input, który nie byłby wysyłany.

Możesz mieć rację pisząc taki kod i podpierać się zgodnością z tym co piszą na Wikipedii. Ale z takim podejściem nie znajdziesz dobrej pracy wink

komentarz 7 sierpnia 2020 przez _Pita_ Stary wyjadacz (11,410 p.)

Ale z takim podejściem nie znajdziesz dobrej pracy 

 Z jakim podejściem i dlaczego?

Podobne pytania

+1 głos
2 odpowiedzi 297 wizyt
pytanie zadane 24 czerwca 2022 w JavaScript przez AgentTecza Obywatel (1,810 p.)
+1 głos
2 odpowiedzi 1,134 wizyt
pytanie zadane 3 listopada 2020 w JavaScript przez ptomeccc Użytkownik (800 p.)
0 głosów
2 odpowiedzi 1,398 wizyt
pytanie zadane 18 października 2018 w JavaScript przez drraco Początkujący (370 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...