Autor Zpráva
Baterie
Profil
Dobrý den, mám jednu otázku ohledně jquery validatoru tohoto typu:
 if(username == ""){
        $('#username_info').html("Nesmí být prázdné");
        valid = false;
      }
      else if(username.length < 5 || username.length > 64){
        $('#username_info').html("Musí mít 5 až 64 znaků");
        valid = false;
      }
      else if(username.indexOf(' ') !== -1) {
        $('#username_info').html("Nesmí obsahovat mezery");
        valid = false;
      }
      else if(!exists(username,"username")) {
        $('#username_info').html("Bohužel již existuje");
        valid = false;
      }
      else $('#username_info').html("&nbsp;");
Je bezpečný? Používal jsem totiž validaci v PHP, která nebyla na webu ve zdrojovém kódu, ale v jquery je. Myslím si totiž, že si kdokoli může soubor uložit k sobě, změnit si proměnnou valid vždy na true, a tím validaci přeskočí...Mohl by se tak dostat i přes login, nejenom přes registraci... Mohu se zeptat, jestli to jde nějak zabezpečit?

PS: Živá ukázka
Str4wberry
Profil
Obejít kontrolu na straně klienta je možné vždy. Proto je potřeba na straně serveru jednat jako by žádné JS ověření nebylo.
Baterie
Profil
A jak to mám udělat?
Str4wberry
Profil
Přepsat kontrolu ještě do PHP. Jiný postup je beztak nebezpečný.
Baterie
Profil
takže to co teď mám je zbytečný? :D sakra jsem se s tím dělal 2 hodiny :D už mám celou registraci
juriad
Profil
Baterie:
Toto můžeš ponechat; uživatel se zapnutým JS se o problému s username dozví okamžitě, aniž by musel odesílat formulář. Validace v JS slouží jen k informaci uživatele; validace v PHP slouží k ochraně serveru.
Baterie
Profil
Ahaaaa :D takže normal člověk bude mít hezkou js validaci a hackera to zastaví, ani nemusí vědět v jakým bodě :D
Str4wberry
Profil
Zbytečné to není. Pro uživatele je pohodlnější, když vidí, co má opravit, bez nutnosti odesílat na server celý formulář.

Problém je, že bez kontroly na serveru může kdokoliv porušit vaše ověřovací pravidla — stačí mu třeba si vypnout JavaScript.
Baterie
Profil
jojo proto teda udělám ještě php validaci, která bude jen vratec pokračuj/nepokračuj. díky za rady

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: