Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS]Odczyt zmiennej sesyjnej
kaznodzieja
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


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. }
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Można ale napewno nie w taki sposób jak ty to próbujesz zrobić.
Go to the top of the page
+Quote Post
kaznodzieja
post
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


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ć
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  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().
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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ł.
Go to the top of the page
+Quote Post
webdice
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  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.
Go to the top of the page
+Quote Post
kaznodzieja
post
Post #7





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


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

Ten post edytował kaznodzieja 3.03.2010, 16:37:57
Go to the top of the page
+Quote Post
webdice
post
Post #8


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Jeszcze jedna sprawa, po co Ci ten token skoro jest widoczny dla każdego? Mija się to z celem.
Go to the top of the page
+Quote Post
kaznodzieja
post
Post #9





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


Po ze rejestrujący wpisuje kod z obrazka i na tej podstawie przepuszczam rejestracje dalej.
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale to powinno być sprawdzane po stronie serwera. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
gothye
post
Post #11





Grupa: Zarejestrowani
Postów: 702
Pomógł: 65
Dołączył: 16.03.2009

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


i jesli jest robione po stronie serwera ,stosujesz technologię AJAX (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
webdice
post
Post #12


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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ą.
Go to the top of the page
+Quote Post
kaznodzieja
post
Post #13





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


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
Go to the top of the page
+Quote Post
webdice
post
Post #14


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pokaż mi stronę na której takie zabezpieczenia działało.
Go to the top of the page
+Quote Post
kaznodzieja
post
Post #15





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 28.01.2007

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


choćby na mojej domowej stronie Ale mniejsza o to. To może podziel się innym zabezpieczeniem. Chętnie zapoznam się z czym nowym
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ech, a czytałeś o CAPTCHA? Najprostsze implementacje.

Albo o SBLAM!. Mi nic nie przepuścił. (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
webdice
post
Post #17


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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.
Go to the top of the page
+Quote Post

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: 9.06.2026 - 10:47