Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Kod:
Chcę umożliwić także głosowanie użytkownikom z wyłączoną obsługą JS (AJAX). Chyba, że to bez sensu? W przykładzie oceny są wysyłane metodą GET. Bardzo niebezpiecznie, bo użytkownik może zagłosować nieświadomie:
Najlepiej wysyłać ocenę metodą POST. Tylko zostaje pytanie: A. zastosować alternatywny formularz dla użytkowników bez JS B. oprzeć głosowanie o <input type="image" />, ale prawdopodobnie tracę kontrolę nad gwiazdkami w CSS C. generować gwiazdki za pomocą JS, a domyślnie wyświetlać tylko ocenę z linkiem do alternatywnego <form> Chociaż w przypadku POST też jest zagrożenie, że trafisz na stronę ze złośliwym skryptem JS. Tylko znacznie mniejsze. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Problem znany, lecz zabezpieczenie trudniejsze. Jest jeszcze jedno rozwiązanie:
Potem wystarczy przypisać style do przycisków i nałożyć tło, czyli gwiazdki. Jest 1 problem - między przyciskami występuje 1 spacja, gdyż każdy <button> w kodzie znajduje się w osobnej linijce dla lepszej czytelności. Chociaż pomysł z kluczem jest ciekawy. Tylko gdzie go trzymać? W zmiennej sesji? Zagrożenie związane z GET powinno zmniejszyć się. Chociaż nie... Złośliwy użytkownik umieści na obcym forum "obrazek" o URL = towar.php?id=X, a później URL = glosuj.php?id=X i po sprawie. Pierwsze żądanie spowoduje przypisanie kodu do zmiennej sesyjnej, a drugie zagłosuje na określony towar. Na razie najlepszą ochroną jest dobrze wykorzystany REFERER. Może jeszcze coś pominąłem. W przypadku POST można jeszcze inaczej zabezpieczyć formularz. Zapisać kod do sesji i umieścić go w polu typu HIDDEN. Chociaż w tym przypadku można wykraść kod i spreparować formularz, stosując podobnie jak powyżej 2 żądania "obrazki". Zatem jednak lepiej wysyłać ocenę metodą POST. Tylko co zrobić z osobami, które wyłączyły JavaScript? Uniemożliwić im głosowanie? Ewentualnie utworzyć link w <noscript> prowadzący do alternatywnego formularza. To może znów stanowić problem dla użytkowników PDA lub telefonów komórkowych, bo chyba wszystkie modele obsługują JavaScript i AJAX. Każde żądanie kosztuje! Jakie jest wasze zdanie? Jakie są wady i zalety różnych rozwiązań? Które najlepsze i dlaczego? |
|
|
|
WebCM [Security] Nieświadome ocenianie 8.09.2008, 19:15:51
Exek Najlepiej rzuć głosowanie POSTem, a w linkach gene... 8.09.2008, 22:26:34
dadexix POST + Ciastka...
A dodatkowo <noscript> a ... 9.09.2008, 11:38:48
dr_bonzo Znane http://en.wikipedia.org/wiki/Cross-site_requ... 9.09.2008, 12:39:53
bełdzio ja bym dal forme z radiobuttonami + labelami z tym... 18.09.2008, 00:17:43 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 18:09 |