Dzięki wcześniejszym poradom i pomocy użytkowników tego zacnego forum, udało mi się uruchomić stronę internetową, która działa tak jak pragnąłem (mniej więcej). Przez kilka miesięcy wszystko było w porządku, aż w zeszłym tygodniu użyto skryptu który pozwolił na automatyczne oddawanie głosów w ankiecie. Cała ankieta składała się tylko z pól "radio" (nie wiem czy jest to istotne). Od tygodnia staram się temu zaradzić i niestety powoli opuszcza mnie nadzieja, że sam cokolwiek wykombinuję.
Do tej pory zabezpieczałem się przed wielokrotnym głosowaniem poprzez ciasteczka. Przez ostatni tydzień próbowałem innych metod, ale były one określane jako "niewystarczające". Pomysły wyglądały następująco:
- wraz z oddaniem głosu uruchamiała się sesja. Jeśli sesja lub ciasteczka są aktywne pojawiał się komunikat, że dany użytkownik już głosował;
- przycisk submit pojawiał się dopiero po naciśnięciu buttona "Jestem człowiekiem";
- dodanie okienka alert.
Jako że powyższe zabezpieczenia były określane jako słabe, postanowiłem napisać kod, który najpierw generuje losowe słowo które użytkownik musi przepisać. Jeśli to się powiedzie, pojawi się przycisk "Głosuj" i będzie można normalnie oddać głos. Na stronie http://www.w3schools.com/ jest pokazany tutorial jak napisać prostą walidację w JS. Niestety na JS się nie znam. Spróbowałem napisać to w PHP ale utknąłem tuż po funkcji która miałaby generować takie zapytanie. Wygląda ona tak:
<?php function pobierz_slowo($min, $max) //pobranie losowego słowa ze słownika { // generowanie losowego słowa $slowo = ''; // ścieżka do słowa $slownik = '../slowa/pl.txt'; // słownik if(!$wp) //co jeśli nie udało się otworzyć pliku return false; // przejście do losowej pozycji w słowniku // pobranie ze słownika następnego pełnego słowa o właściwej długości { }; return $slowo; } ?>
Zapoznałem się już z tematem http://forum.php.pl/index.php?showtopic=30...t=0&start=0 Niestety niewiele mi on mówi. Ma ktoś może jakąś radę, jak rozwiązać ten problem?
Z wyrazami szacunku
Galakar