Cytat
I mam pytanie jak zabezpieczyć skrypt aby można było tylko raz rozwiązać zadanie
Jeśli chodzi Ci o to, że jeden user = jedno podejście do rozwiązania, to niestety, ale technicznie jest to niewykonalne. Wszystkie metody polegające na zapisywaniu IP, przeglądarki, ciasteczek, wszelakich kombinacji zmiennych $_SERVER itp. są nieskuteczne, bo każde z tych ograniczeń można ominąć. Były już zresztą dyskusje na forum na ten temat, wystraczy poszukać.
Jedynym rozwiązaniem jest wymaganie podania od rejestrujących się jawnej, jednoznacznie identyfikującej go informacji (np. PESEL, nr. dowodu), ale na takie rzeczy można sobie pozwolic na stronach, które np. gwarantują nagrody rzeczowe bądź pienięzne i jest to wymagane do jednoznacznej identyfikacji użytkownika.
W przypadku prywatnej stronki z testem na 20 pytań na jakiś tam temat - nie ma szans.
Można utrudnić, ale uniemozliwić się nie da.