hmm wydaje mi się, że mam łatwe rozwiązanie choć nie wiem jak masz to technicznie wykonane ale wygląda ono tak:
- User "A" wchodzi na konkretny pokaz 10 slajdów (przykład) strona pokaz.php, serwer zapisuje czas rozpoczęcia pokazu slajdów,
- po załadowaniu strona wysyła ajaxa że A chce slajd 1, serwer zapisuje czas żądania i wysyła slajd pierwszy,
- po obejrzeniu slajdu 1 idzie kolejny ajax, serwer sprawdza czy A obejrzal slajd 1 w żądanym czasie jeśli tak to zalicza, podaje slajd 2
- sytacja powyżej powtarza się dla wszystkich kolejnych slajdów aż do końca,
- koniec slajdów wysyłamy ajax kończący i zaliczamy prezentację itp...
Zakładam że ajax wysyła dane pod slajd.php
I teraz tak:
Ten sam user "A" w trakcie działania pokazu wchodzi jeszcze raz gdziekolwiek na świecie, korzystając z czego chce by uruchomić pokaz równoległy bo chce oszukać system,
skrypt pokaz.php sprawdza za każdym wywołaniem czy ten pokaz nie został już zaliczony i czy czasem obecny czas odjąc czas rozpoczęcia pokazu nie jest mniejszy od czasu jego trwania - jeśli jest oznacza to że user nie dokończył pokazu, lub oszukuje - wyrzucamy komunikat w stylu "Pokaz slajdów jeszcze trwa odczekaj {pozostaly_czas} by rozpocząć pokaz od nowa.
Nie do oszukania

Do zapisu czasu rozpoczęcia pokazu użyj bazy
Do zapisu czasu rozpoczęcia oglądania slajdu wystarczy sesja
Ten systemik można oszukać - ale jest to dość trudne