Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Security] Nieświadome ocenianie, Nie wysyłać oceny przez GET?
WebCM
post
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Kod:
  1. <ul class="rate avg3">
  2. <li><a href="vote.php?rate=1" class="r1">1</a></li>
  3. <li><a href="vote.php?rate=1" class="r2">2</a></li>
  4. <li><a href="vote.php?rate=1" class="r3">3</a></li>
  5. <li><a href="vote.php?rate=1" class="r4">4</a></li>
  6. <li><a href="vote.php?rate=1" class="r5">5</a></li>
  7. </ul>

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:
  1. <a href="vote.php?id=500&ocena=1">Cud na boisku - Polacy wygrali 5:0</a>
  2. <img src="vote.php?id=4&ocena=5" /> - tak, z dowolnego miejsca w Internecie

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

Posty w temacie


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: 19.12.2025 - 18:38