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 :
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2"> <script LANGUAGE= "JavaScript" TYPE= "text/javascript"> <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
function sprawdz()
{
var brakDanych = false;
var formularz = document.forms.formularz1;
var napis = "";
if (formularz.imie.value == ""){
napis += "imie\n"
brakDanych = true;
}
if (formularz.nazwisko.value == ""){
napis += "nazwisko\n"
brakDanych = true;
}
if (formularz.miasto.value == ""){
napis += "kraj\n"
brakDanych = true;
}
if (formularz.kod1.value == ""){
napis += "telefon\n"
brakDanych = true;
}
if (!brakDanych)
formularz.submit();
else
alert ("Proszę wypełnić następujące pola:\n" + napis);
}
// Koniec kodu JavaScript -->
<form name="formularz1" method="post" action="mail.php" enctype="multipart/form-data">
<input type="text" name="imie"><br>
<input type="text" name="nazwisko"><br>
<input type="text" name="miasto"><br>
<input type="text" name="kod1" size="2" maxlength="2"> -
<input type="text" name="kod2" size="3" maxlength="3"><br>
<input type="text" name="ulica"> <br>
Nr Domu/Nr Mieszkania:
<br><input type="text" name="nrdomu" size="6" maxlength="6"> nr mieszkania
<input type="text" name="nrmieszkania" size="6" maxlength="6"><br>
<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>
Data urodzenia (rok/miesia/dzień):
<br> 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>
Telefon domowy (kierunkowy/nr telefonu)
<br><input type="text" name="kierunkowy" size="3" maxlength="3"> <input type="text" name="nrtel" size="12" maxlength="12"><br>
<input type="text" name="telkom" size="9" maxlength="9"><br>
<input type="text" name="nrpesel" size="11" maxlength="11"><br>
<input type="text" name="nrregon" size="14" maxlength="14"><br>
Nr dowodu osobistego:
<br><input type="text" name="dowodosobisty" size="9" maxlength="9"><br>
<input type="text" name="email"><br>
Wybieze temat wiadomosci:
<br>
Ulubiony piosenkarz: (musisz wybrac jednego)
<br><input type="radio" name="piosenkarze" value="krawczyk"> Krawczyk
<input type="radio" name="piosenkarze" value="stachurski"> Stachurski
<input type="radio" name="piosenkarze" value="kowalska"> Kowalska
<input type="radio" name="piosenkarze" value="wisniewskik"> Wiśniewski
<input type="radio" name="piosenkarze" value="mandaryna"> Mandaryna
<br> <br>
Ulubiony kolor: (musisz wybrac przynajmniej jeden)
<br><input type="checkbox" name="kolor[czerwony]" value="czerwony" />czerwony
<br /> <input type="checkbox" name="kolor[zielony]" value="zielony" />zielony
<br /> <input type="checkbox" name="kolor[niebieski]" value="niebieski" />niebieski
<br /> <input type="checkbox" name="kolor[rozowy]" value="rozowy" />rozowy
<br /> <input type="checkbox" name="kolor[czarny]" value="czarny" />czarny
<br /> <input type="checkbox" name="kolor[bialy]" value="bialy" />bialy
<br />
Wybiez plik do załączenia:
<br><input type="file" name="filename" value="<?php echo($_FILE['filename']); ?>">
Akceptujesz regulamin? :
<input type="checkbox" name="regulamin" value="regulamin"> TAK
<br><br>
<input type="submit" name="submit" value="wyślij" onclick = "sprawdz()"> <input type="reset" name="reset" value="od nowa">
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
kicaj
1.09.2005, 19:14:55
Pamietaj ze cala walidacje JS mozna obejsc! Zrob w php walidacje ostateczna i zawsze aktywna
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
aleksander
1.09.2005, 19:38:13
ja moge sobie wylaczyc javascript i wtedy Twój Twoje zabezpieczenia js mogą mi naskczyc

po prostu walidacja php powinna byc zawsze aktywna i js tez

Podaj mi argumenty, ze tak nie powinno byc
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.
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
Czy zna ktos konktretna odpiwedz na moje pytanie? prosze o jakas wzkazowke jak to wykonac? bede wdzieczny pozdrowka
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
batman
1.09.2005, 21:07:29
dzieki z odpowiedzi ale czy mozna troszke jasniej i bardziej szczegolow poniewaz dopiero od niedawna zajmuj sie php

z gory dziekuj
batman
2.09.2005, 06:56:08
Submit jak sama nazwa wskazuje wysyła wysyła formularz, a button nie. Więc wstaw w miejsce submit (przycisku):
<input type="button" name="submit" value="wyślij" onclick = "sprawdz()">
TomASS
2.09.2005, 09:01:32
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.
php programmer
2.09.2005, 09:05:28
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.
TomASS
2.09.2005, 09:09:37
Do tego też zmierzałem, pozatym trudno jest zadowolić wszystkich
nospor
2.09.2005, 09:10:09
@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

)
php programmer
2.09.2005, 09:12:33
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ć
nospor
2.09.2005, 09:15:25
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ć
php programmer
2.09.2005, 09:16:51
Przeciez i tak robi sie backupy.
A prawdopodobieństwo skasowania bazy praktycznie żadne.
Równie dobrze może uderzyć w ziemie jakiś meteor.
nospor
2.09.2005, 09:19:05
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
Sh4dow
2.09.2005, 09:23:25
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
[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.
php programmer
2.09.2005, 09:31:55
Cytat(nospor @ 2005-09-02 08:19:05)
A slyszal kiedy o slq insertion/injection?
Nie słyszałem.
Ja tylko mówie swoje zdanie na ten temat, to już nawet nie można powiedzieć co sie myśli?
A my ci tylko mówimy, że jesteś w dużym błędzie, a ty dalej swoje i nic do ciebie nie przemawia 
--
nosporTak tyko że ja swoją "upartośc" (według was) popieram
życiowymi argumentami.
Nie obraź się, ale wynika że masz małe życiowe doswiadczenia
--
nospora właśnie że mam duże
SongoQ
2.09.2005, 12:50:04
Cytat
A prawdopodobieństwo skasowania bazy praktycznie żadne.
Równie dobrze może uderzyć w ziemie jakiś meteor.
Podaj adresy serwisow ktore wynonywales z zabezpieczeniami JS, a radze ze kilka minut i ktos Ci je wywali. W innym poscie napisales ze obyty jestes z bazami, jestem ciekaw czy masz aby tak dobre zabezpieczone wszystko jak serwisy za pomoca JS.
http://www.thecounter.com/stats/2005/July/javas.php - to apropo ilosci ludzi z wylaczonym JS.
Malo zyciowe te Twoje agumenty, a doswiadczen chyba jednak duzych nie masz (mimo ze mozesz ze swojej perspektywy sadzic inaczej), skoro masz takie przekonania i nie slyszales nawet o sql injection, ktory jest jednym z podstawowych atakow na zle robione skrypty.
Ja sie np. nie bawie w waliadcje po stronie klienta, wszystko server-side, ale formularze mam tak robione, zeby zadnych wprowadzonych danych nie stracic, dodatkowo po submicie jesli byly blednie wypelnione pola to automatycznie pierwsze blednie wypelnione pole dostaje focus i jest to dosc wygodne rozwiazanie.
aleksander
2.09.2005, 14:37:05
php programmer
2.09.2005, 15:16:40
Cytat(SongoQ @ 2005-09-02 11:50:04)
Cytat
A prawdopodobieństwo skasowania bazy praktycznie żadne.
Równie dobrze może uderzyć w ziemie jakiś meteor.
Podaj adresy serwisow ktore wynonywales z zabezpieczeniami JS, a radze ze kilka minut i ktos Ci je wywali. W innym poscie napisales ze obyty jestes z bazami, jestem ciekaw czy masz aby tak dobre zabezpieczone wszystko jak serwisy za pomoca JS.
Dobra, nie chcę już przedłużac niepotrzebnie tematu
ale w odpowiedzi na jeden z postów podaje formularz,
(praktycznie bez żadnych zabezpieczeń)
czekam aż ktoś wpisze takie dane, że pozostałe dane przez to wywalą.
http://www.pomorze.netsulima.pl/podstrony/forum/forum.phpps.do aleksander
dzieki za link
No dziekuje za odpowiedz widze ze wdala sie dluzsza rozmowa

Popieram nospora poniewaz ma takie zadnie jak ja. JS jako wstepna walidacja poniewaz jest szybaka nie przeladowuje strony i nie obciaza sereerwa i alternatywnie wrazie brkua JS walidacja php . I to jest wedlug mnie optymalne rozwiazanie

! . Ide dziala wrcie pytan bede pisal . Dziekuje slicznie pozdrowka dla calego forum

ppaaatkkii
Hej, doszlo do jakiegoś nie porozumienia. Ja uwazam że js i php a nie js i alternatywnie php
---
nospor
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.