Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] głosowanie przez przekierowanie na stronę, jak zabezpieczyć
pionas
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


Witam,

mam problem.
Otóż zrobiłem głosowanie na zdjęcia za pomocą kliknięcia w przycisk, przycisk ten przekierowuje na kolejną podstronę gdzie jest weryfikowana poprawność oddania głosu.
Tzn. na stronie A, generuję kod do linku na oddanie głosu wygląda on mniej więcej tak:
  1. $hash1 = "http://adres_strony.pl/".$_SERVER['REQUEST_URI'];
  2. $hash1 = sha1($hash1.SALT1);
  3. $hash2 = sha1(SALT2.$id.SALT3.$_SERVER['REMOTE_ADDR']);
  4.  


Link do oddania głosu wygląda tak: b.php?act=vote&id=[ID]&h1=[hash1]&h2=[hash2]

Kod sprawdzający to wygląda mniej więcej tak:
  1. //...
  2. $ref = str_replace('www.','',$_SERVER['HTTP_REFERER']);
  3. $hash22 = sha1($ref.SALT1);
  4. $hash11 = sha1(SALT2.$id.SALT3.$_SERVER['REMOTE_ADDR']);
  5.  
  6. if ($hash22==$h2&& $hash11==$h1) {
  7. // zalicz głos
  8. } else {
  9. // poinformuj o probie oszustwa...
  10. }


Czy da się to jakoś oszukać? Jakie Wy macie próby na nieuczciwych graczy?

Dziękuję i pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pionas
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

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


Jak to wszystko jest na jednym serwerze, to jest jeden serwis....

Chodzi mi o coś takiego:
http://twoja_strona.pl/a.php:
  1. $_SESSION['znacznik'] = microtime();
  2.  
  3.  
  4. $hash1 = "http://adres_strony.pl/".$_SERVER['REQUEST_URI'];
  5. $hash1 = md5(sha1($hash1.SALT));
  6. $hash2 = md5(sha1(SALT.$id.$_SERVER['REMOTE_ADDR'].$_SESSION['znacznik']));
  7.  


b.php?act=vote&id=[ID]&h1=[hash1]&h2=[hash2]

http://twoja_strona.pl/b.php:
  1. //...
  2. $ref = str_replace('www.','',$_SERVER['HTTP_REFERER']);
  3. $h1 = md5(sha1($ref.SALT));
  4. $h2 = md5(sha1(SALT.$id.$_SERVER['REMOTE_ADDR'].$_SESSION['znacznik']));
  5.  
  6. if ($hash22==$h2&& $hash11==$h1) {
  7. // zalicz głos
  8. } else {
  9. // poinformuj o probie oszustwa...
  10. }



[EDIT]
O to właśnie chodzi aby http_referer był adresem strony a.php?id=[ID], zasady są takie, że trzeba wejść na stronę ze zdjęciem i dopiero na niej kliknąć w link "Oddaję głos" a nie że bezpośrednio skopiuję sobie link do oddawania głosu i porozsyłam znajomym i każdy zagłosuje...

Ten post edytował pionas 3.08.2011, 12:09:05
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: 15.10.2025 - 16:24