kaznodzieja
3.03.2010, 15:54:05
Witam!
Przerabiam formularz napisany w php z walidacja oparta o JS. Czy jest możliwość aby odczytać zmienna sesyjna ($_SESSION) i wykorzystać ją przy walidacji w JS? Chodzi mi o porównanie i odczyt w funkcji jak poniżej
function validatetoken_text(){
if(token_text.val() != $_SESSION['token_text'].val()){
token_text.addClass("error");
token_textInfo.text("Bad");
token_textInfo.addClass("error");
return false;
}
else{
token_text.removeClass("error");
token_textInfo.text("OK");
token_textInfo.removeClass("error");
return true;
}
}
skowron-line
3.03.2010, 15:58:09
Można ale napewno nie w taki sposób jak ty to próbujesz zrobić.
kaznodzieja
3.03.2010, 16:05:43
Odkrywcze to to nie było. Gdybym wiedział w jaki sposób to bym nie pisał na forum. Umieściłem taka wersje kodu na jakiej skończyłem pracować
blooregard
3.03.2010, 16:07:29
if(token_text.val() != $_SESSION['token_text'].val()){
W JavaScript nie istnieje coś takiego, jak $_SESSION, musisz tę wartość przekazać jako argument dla f-cji validatetoken_text().
Cytat
Czy jest możliwość aby odczytać zmienna sesyjna ($_SESSION) i wykorzystać ją przy walidacji w JS? Chodzi mi o porównanie i odczyt w funkcji jak poniżej
Zrób skrypt-pośrednik działający via AJAX.
Ale udostępnienie całej zawartości tablicy sesyjnej via JS, to ewidentnie zły pomysł.
webdice
3.03.2010, 16:36:12
if(token_text.val() != '<?php print $_SESSION['token_text']; ?>'){
Ale to Ci nie zadziała w pliku JS. Na pewno najlepszym sposobem będzie pobranie wartości zmiennej sesyjnej przez Ajax.
kaznodzieja
3.03.2010, 16:36:23
ok czyli dla moje przykładu jest to nie możliwe Dobrze myśle?
mój formularz jest pod adresem
http://vlaho.pl/ba skrypt js pod adresem
http://vlaho.pl/b/validation.jsDodam ze całość opiera się na JQUERY
webdice
3.03.2010, 16:42:10
Jeszcze jedna sprawa, po co Ci ten token skoro jest widoczny dla każdego? Mija się to z celem.
kaznodzieja
3.03.2010, 16:46:13
Po ze rejestrujący wpisuje kod z obrazka i na tej podstawie przepuszczam rejestracje dalej.
Ale to powinno być sprawdzane po stronie serwera.
gothye
3.03.2010, 17:43:46
i jesli jest robione po stronie serwera ,stosujesz technologię AJAX
webdice
3.03.2010, 18:36:15
Cytat(kaznodzieja @ 3.03.2010, 16:46:13 )

Po ze rejestrujący wpisuje kod z obrazka i na tej podstawie przepuszczam rejestracje dalej.
Najlepiej daj sobie kod z obrazka w atrybucie alt, co się będą boty męczyć z szukaniem po plikach JS.
P.S. Takie stosowanie tokenów to jak montowanie najlepszych drzwi antywłamaniowych z kluczem pod wycieraczką.
kaznodzieja
3.03.2010, 18:41:29
No to możesz zaproponujecie inne metody zabezpieczenia formularza Na tych stronach które robiłem i które działają taki token zdawał egzamin
webdice
3.03.2010, 19:03:53
Pokaż mi stronę na której takie zabezpieczenia działało.
kaznodzieja
3.03.2010, 19:25:45
choćby na mojej domowej stronie Ale mniejsza o to. To może podziel się innym zabezpieczeniem. Chętnie zapoznam się z czym nowym
Ech, a czytałeś o CAPTCHA? Najprostsze implementacje.
Albo o SBLAM!. Mi nic nie przepuścił.
webdice
3.03.2010, 20:10:45
Nie chodzi o to że CAPTCHA jest zła (choć nie bardzo przepadam za tym rozwiązaniem), chodzi o to że nie możesz w żaden sposób przesłać kodu do przeglądarki, czy to do kodu HTML, czy JavaScript.
Co do zabezpieczeń to było na forum kilka wątków na ten temat.
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.