Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS]Odczyt zmiennej sesyjnej
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
kaznodzieja
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

  1. function validatetoken_text(){
  2. if(token_text.val() != $_SESSION['token_text'].val()){
  3. token_text.addClass("error");
  4. token_textInfo.text("Bad");
  5. token_textInfo.addClass("error");
  6. return false;
  7. }
  8. else{
  9. token_text.removeClass("error");
  10. token_textInfo.text("OK");
  11. token_textInfo.removeClass("error");
  12. return true;
  13. }
  14. }
skowron-line
Można ale napewno nie w taki sposób jak ty to próbujesz zrobić.
kaznodzieja
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
  1. 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().
erix
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
  1. 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
ok czyli dla moje przykładu jest to nie możliwe Dobrze myśle?

mój formularz jest pod adresem http://vlaho.pl/b
a skrypt js pod adresem http://vlaho.pl/b/validation.js

Dodam ze całość opiera się na JQUERY
webdice
Jeszcze jedna sprawa, po co Ci ten token skoro jest widoczny dla każdego? Mija się to z celem.
kaznodzieja
Po ze rejestrujący wpisuje kod z obrazka i na tej podstawie przepuszczam rejestracje dalej.
erix
Ale to powinno być sprawdzane po stronie serwera. winksmiley.jpg
gothye
i jesli jest robione po stronie serwera ,stosujesz technologię AJAX winksmiley.jpg
webdice
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
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
Pokaż mi stronę na której takie zabezpieczenia działało.
kaznodzieja
choćby na mojej domowej stronie Ale mniejsza o to. To może podziel się innym zabezpieczeniem. Chętnie zapoznam się z czym nowym
erix
Ech, a czytałeś o CAPTCHA? Najprostsze implementacje.

Albo o SBLAM!. Mi nic nie przepuścił. winksmiley.jpg
webdice
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.