Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Walidacja Formularza w JS oraz PHP, kofiguracja walidacji JS oraz PHP
ppsi
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Hejka mam dosc powazny problem .Zrobiłem formularz zgłoszeniowy i dodałem do niego walidacje JS oraz php. Tylko problem w tym jak to wszystko zgrac. Problem powinien być rozwiazany ze jesli użytkownik nie ma obslugi JS lub ma ja wyłączona wtedy włącza sie walidacja php jesli użytkownik ma właczona JS wtedy czesc pol zeby byla sprawdza w JS (aby nie obciazac serera i przeladowywac zbednie stron poniewaz zwalnia to autamtycznie dzialanie www) a pozostala grupa pol jak np PELSE,NIP itp po zweryfikowaniu wczesniej pol przez walidacje JS aby wlaczyla sie dalasza czesc walidacj w php. Narazie dziala to ze jesli mamy obsluge JS i nie wypelnimi zadnego pola wyskoczy okienko JS aby wprwadzic dane i auamtycznie wlacza sie walidacja php czyli przeladowuje sie strona i prosi o podani danych .TAK wyglada KOD HTML :
  1. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  2. <script LANGUAGE= "JavaScript" TYPE= "text/javascript">
  3. <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
  4. function sprawdz()
  5. {
  6. var brakDanych = false;
  7. var formularz = document.forms.formularz1;
  8. var napis = "";
  9. if (formularz.imie.value == ""){
  10. napis += "imie\n"
  11. brakDanych = true;
  12. }
  13. if (formularz.nazwisko.value == ""){
  14. napis += "nazwisko\n"
  15. brakDanych = true;
  16. }
  17. if (formularz.miasto.value == ""){
  18. napis += "kraj\n"
  19. brakDanych = true;
  20. }
  21. if (formularz.kod1.value == ""){
  22. napis += "telefon\n"
  23. brakDanych = true;
  24. }
  25. if (!brakDanych)
  26. formularz.submit();
  27. else
  28. alert ("Proszę wypełnić następujące pola:\n" + napis);
  29. }
  30. // Koniec kodu JavaScript -->
  31. </HEAD>
  32. <form name="formularz1" method="post" action="mail.php" enctype="multipart/form-data">
  33.  
  34. Imię:<br>
  35. <input type="text" name="imie"><br>
  36.  
  37. Nazwisko:<br>
  38. <input type="text" name="nazwisko"><br>
  39.  
  40. Miasto:<br>
  41. <input type="text" name="miasto"><br>
  42.  
  43. Kod pocztowy:<br>
  44. <input type="text" name="kod1" size="2" maxlength="2"> - <input type="text" name="kod2" size="3" maxlength="3"><br>
  45.  
  46. Ulica:<br>
  47. <input type="text" name="ulica"> <br>
  48.  
  49. Nr Domu/Nr Mieszkania: <br>
  50. <input type="text" name="nrdomu" size="6" maxlength="6"> nr mieszkania <input type="text" name="nrmieszkania" size="6" maxlength="6"><br>
  51.  
  52. Wojewodztwo:<br>
  53. <select name="wojewodztwo"> <option selected value="wybiezwojewodztwo"> - - - - - - - <option value="wielkopolskie"> wielkopolskie <option value="malopolskie"> malopolskie <option value="podkarpackie"> podkarpackie <option value="śląskie"> śląskie </select> <br>
  54.  
  55. Data urodzenia (rok/miesia/dzień):<br>
  56. 19<input type="text" name="rok" size="2" maxlength="2"> <select name="miesiac"> <option selected value="---------------"> --------------- <option value="styczen"> styczen <option value="luty"> luty <option value="marzec"> marzec <option value="kwiecien"> kwiecień <option value="maj"> maj <option value="czerwiec"> czerwiec <option value="lipiec"> lipiec <option value="sierpień"> sierpień <option value="wrzesien"> wrzesien <option value="padziernik"> pazdziernik <option value="listopad"> listopad <option value="grudzien"> grudzień</select> <input type="text" name="dzien" size="2" maxlength="2"> <br>
  57.  
  58. Telefon domowy (kierunkowy/nr telefonu)<br>
  59. <input type="text" name="kierunkowy" size="3" maxlength="3"> <input type="text" name="nrtel" size="12" maxlength="12"><br>
  60.  
  61. Telefon komórkowy:<br>
  62. <input type="text" name="telkom" size="9" maxlength="9"><br>
  63.  
  64. PESEL:<br>
  65. <input type="text" name="nrpesel" size="11" maxlength="11"><br>
  66.  
  67. NIP:<br>
  68. <input type="text" name="nip"><br>
  69.  
  70. REGON:<br>
  71. <input type="text" name="nrregon" size="14" maxlength="14"><br>
  72.  
  73. Nr dowodu osobistego:<br>
  74. <input type="text" name="dowodosobisty" size="9" maxlength="9"><br>
  75.  
  76. E-mail:<br>
  77. <input type="text" name="email"><br>
  78.  
  79.  
  80. Wybieze temat wiadomosci:<br>
  81. <SELECT NAME="tematlistu"> <OPTION VALUE="brak">--------------- <OPTION VALUE="zamowienie">zamowienie <OPTION VALUE="pytanie">pytanie <OPTION VALUE="inne">inne </SELECT> <br>
  82.  
  83. Ulubiony piosenkarz: (musisz wybrac jednego)<br>
  84. <input type="radio" name="piosenkarze" value="krawczyk"> Krawczyk&nbsp;
  85. <input type="radio" name="piosenkarze" value="stachurski"> Stachurski&nbsp;
  86. <input type="radio" name="piosenkarze" value="kowalska"> Kowalska&nbsp;
  87. <input type="radio" name="piosenkarze" value="wisniewskik"> Wiśniewski&nbsp;
  88. <input type="radio" name="piosenkarze" value="mandaryna"> Mandaryna&nbsp; <br> <br>
  89.  
  90.  
  91. Ulubiony kolor: (musisz wybrac przynajmniej jeden)<br>
  92. <input type="checkbox" name="kolor[czerwony]" value="czerwony" />czerwony<br />
  93. <input type="checkbox" name="kolor[zielony]" value="zielony" />zielony<br />
  94. <input type="checkbox" name="kolor[niebieski]" value="niebieski" />niebieski<br />
  95. <input type="checkbox" name="kolor[rozowy]" value="rozowy" />rozowy<br />
  96. <input type="checkbox" name="kolor[czarny]" value="czarny" />czarny<br />
  97. <input type="checkbox" name="kolor[bialy]" value="bialy" />bialy<br />
  98.  
  99.  
  100. Wybiez plik do załączenia:<br>
  101. <input type="file" name="filename" value="<?php echo($_FILE['filename']); ?>">
  102.  
  103. Akceptujesz regulamin? : <input type="checkbox" name="regulamin" value="regulamin"> TAK<br><br>
  104.  
  105. <input type="submit" name="submit" value="wyślij" onclick = "sprawdz()">
  106. <input type="reset" name="reset" value="od nowa">
  107. </form>
  108. </BODY>
  109. </HTML>


Jak zrobic tu warunek jezeli uzytkownik nie ma JS wlacza sie walidacj JS jesli ma obsuge JS wlaczas sie walidacja ogola w JS czyli aby w polach zostaly podane dane a nastepnie po wyslaniu wlacza sie walidacj php czyli sprawdza np porawnosc PESEL NIP itp. Prosze bardzo o pomoc z gory dziekuj i pozdrawiam
Go to the top of the page
+Quote Post
kicaj
post
Post #2





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


Pamietaj ze cala walidacje JS mozna obejsc! Zrob w php walidacje ostateczna i zawsze aktywna (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
ppsi
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Nie bardzo chce obchodzic JS poniewaz co prawda JS nie ma takich moziwosci jak php ale dzial po stronie kienta i co za tym idzie przynosi duze kozysci jak szybkosc dziala i brak przeladowania strony wiec bardzo mi zalezy na jakims zrowiazaniu tego problemu prosze o pomoc bede bardzo wdzieczny pozdrowka dla wszystkich uzytkownkiow tego forum papaptki
Go to the top of the page
+Quote Post
aleksander
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

Ostrzeżenie: (0%)
-----


ja moge sobie wylaczyc javascript i wtedy Twój Twoje zabezpieczenia js mogą mi naskczyc (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) po prostu walidacja php powinna byc zawsze aktywna i js tez (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Podaj mi argumenty, ze tak nie powinno byc
Go to the top of the page
+Quote Post
ppsi
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


nie rozumiem kto tu chce wylaczyc walidacje php prosze czytac uwaznie posty. Po kolei najper ma byc walidacj JS ponieaz nie obciaza serwer i dziala szybko a pozniej alernatywnie ale zawsze aktywna jesli nie zadziala JS lub gdy trzba dokladnie sprawdzic pole takie jak np. PESEL lub NIP bedzie dzialac walidacja php.
Go to the top of the page
+Quote Post
sf
post
Post #6





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


walidacja nie obciaza serwera w znaczacy sposob to jest pierdola

wiec jak ktos ma wlaczone JS to waliduje to najpierw JS i to jest taki zysk, ze user nie musi czekac na przeladowanie strony jesli zle cos wpisze i to jest ten PLUS, a nie, ze obciaza serwer..

no i dalej idac.. wypelnia, jest ok, wysyla sie.. walidacja php nastepuje jeszcze.. i robisz cos tam z tymi danymi
Go to the top of the page
+Quote Post
ppsi
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


Czy zna ktos konktretna odpiwedz na moje pytanie? prosze o jakas wzkazowke jak to wykonac? bede wdzieczny pozdrowka
Go to the top of the page
+Quote Post
sf
post
Post #8





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


nie ma to jak lama...

zrob sobie dodatkowy parametr wysylany POST lub GET, ze walidacja odbyla sie czesciowo przez JS, albo sobie w sesji zapisz czy uzytkownik uzywa JS i potem zwykly if
Go to the top of the page
+Quote Post
batman
post
Post #9





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Lub zamiast
  1. <input type="submit">


wstaw

  1. <input type="button">
Go to the top of the page
+Quote Post
ppsi
post
Post #10





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 16.07.2005

Ostrzeżenie: (10%)
X----


dzieki z odpowiedzi ale czy mozna troszke jasniej i bardziej szczegolow poniewaz dopiero od niedawna zajmuj sie php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) z gory dziekuj
Go to the top of the page
+Quote Post
batman
post
Post #11





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Submit jak sama nazwa wskazuje wysyła wysyła formularz, a button nie. Więc wstaw w miejsce submit (przycisku):

  1. <input type="button" name="submit" value="wyślij" onclick = "sprawdz()">
Go to the top of the page
+Quote Post
TomASS
post
Post #12





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Ja też miałem ten sam Problem.

Zrobiłem JS I Button, mam ten komfort, że jeśli użytkownik serwisu który tworze nie chce się dostosować, to nie - jego strata, także omijanie JS nie leży w jego interesie. A ostateczna walidacja i tak jest robiona w php.
Go to the top of the page
+Quote Post
php programmer
post
Post #13





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Według mnie każdy ma obsługe JS,
nikt już nie ma takich starych przeglądarek, żeby nie było JS,
a wyłączać JS nie ma po co, wiec robienie ewentualności na brak JS
jest moim zdaniem mało sensowne.
Go to the top of the page
+Quote Post
TomASS
post
Post #14





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Do tego też zmierzałem, pozatym trudno jest zadowolić wszystkich (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #15





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@php programmer co ty wygadujesz? czyli wedlug ciebie samo js wystarczy? To fakt, kazda przegladarka ma js i 90% uzytkowników ma go wlączonego. Ale znajdzie się 10% co go wylączom żeby np. spróbować narozrabiać lub tak z przekory. I co, wówczas walidacji nie bedzie, dane pójdą do serwera a ten uzna ze js zwalidowal i przyjmie je. Czlowieku, toż to grozi globalna katastrofą (tu lekko przesadzilem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) )
Go to the top of the page
+Quote Post
php programmer
post
Post #16





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Jak już to 1 % a nie 10%
poza tym jak dane nie beda takie jak trzeba to można tego
jednego człowieczka na 100 zignorować, albo napisać że coś jest nie tak
i żeby sobie włączył JS i sie nie wygłupiał

to tak jak by robić ewentualność na wypadek że ktoś tam może
jeszcze jeździ syrenką, albo trabantem, albo sobie wyłączył hamulce
bo chce poeksperymentować

Ten post edytował php programmer 2.09.2005, 09:15:25
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a niech nawet to bedzie 0,00001%. Tu nie chodzi oto ze gostek se wylaczy. mi chodzi oto ze se wylaczy, poda jakieś dane, które mogą w ciekawy sposób zmodyfikować zapytanie i ci skasuje cała bazę. Do tego wystarczy ten jeden ludek. Tak więc walidacja php musi być
Go to the top of the page
+Quote Post
php programmer
post
Post #18





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Przeciez i tak robi sie backupy.
A prawdopodobieństwo skasowania bazy praktycznie żadne.
Równie dobrze może uderzyć w ziemie jakiś meteor.

Ten post edytował php programmer 2.09.2005, 09:17:47
Go to the top of the page
+Quote Post
nospor
post
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wow, rozbrajasz mnie. Oby jak najmniej ludzi z takim podejsciem do sprawy.
A slyszal kiedy o slq insertion/injection?

nie ma co ciągnac tej dyskusji bo juz pokazales na co cie stac. milego dnia
Go to the top of the page
+Quote Post
Sh4dow
post
Post #20





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


o tak zrobcie tak, przesylacie zmienna ktora wylacza walidacje w php ja stworze wlasna strone ktora bedzie sie odnosci do wasze, wysle jakis ladny kod, z potwierdzeniem "falszywej walidacji" i postaram sie doskonale uprzykrzyc ci zycie lamiac jakeis zabezpieczenia lub niszczac polowe strony, bo wedlug ciebie klient zauwazy roznice w ladowaniu sie strony na poziomie 0.001s.

Ludzie JavaScript ma byc tylko pomocnikiem dla wygody usera a nie programisty. Walidacja w php jest sposobem zabezpieczenia sie przed probami ataku na strone.

A pozatym po jakiego grzyba kombinowac, cudowac jak przekazac czy bylo walidowane w JS ? Duzo szybciej napiszesz dwie walidacje (JS i php) niz bedziesz rozwiazywakl ten problem.

A ja sie zastanawialem jak mozna zrobic dziurawy system O_o

Pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png)

[Edit] @php programer: Nie odzywaj sie lepiej na ten temat bo to zaczynam byc upokazajace. Wychodzi na to ze twoja znajomosc w tym zakresie jest znikoma. A co do backupow to juz slyszalem jak Firma hostingowa robila codzienne backupy bazy. i w ten sposob serwis przestal istniec z powodu znikniecia bazy.

Ten post edytował Sh4dow 2.09.2005, 09:25:38
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:28