Ik heb het plan om het puntensysteem in mijn GameMaker games weer aan te zetten. Maar hoe moet ik het doen zonder dat het wel heel makkelijk te hacken is?
Mijn games werkten vroeger als volgt om de punten te verzenden:
- Als er een punt verzonden kan worden, geef dan een knop weer.
- Als de gebruiker op de knop klikt, open dan een webpagina. Hier kan de gebruiker inloggen, en vervolgens wordt een punt bij de account van de gebruiker geplaatst.
Helaas was deze webpagina ook aan te roepen vanuit een andere locatie, waardoor het wel heel makkelijk werd om jezelf punten te geven.
Is het in eigenlijk wel mogelijk om een spel, dat helemaal zonder controle van de server wordt gespeeld, veilig aan de server een punt te geven?
Nee. Volstrekt onmogelijk. Als mijn spel zomaar aan de server kan vragen een punt te geven, dan kan een hacker dat ook.
Maar het kan wel een stuk veiliger. Als ik ervoor zorg dat het nogal wat moeite kost om het puntensysteem e hacken, schrik ik de kleine hackers af. De grote hackers laten mijn puntensysteempje uiteraard links liggen – er is geen geld aan te verdienen.
Nu het technische gedeelte:
- Sla in het spel een game id op.
- Vraag de gebruiker om een gebruikersnaam en wachtwoord.
- Bereken uit de gebruikersnaam, de game id en de huidige datum en tijd een geheime code, de spelcode.
- Stuur de game id, de inloggegevens en de spelcode naar de server. Als alles correct is stuurt de server een code terug, de scorecode.
- De scorecode kan eenmalig gebruikt worden om de online score bij te werken.
- Uit de scorecode en de game id wordt door het spel een nog geheimere scorecode berekend.
- Als de gebruiker recht heeft op een punt wordt de geheimere scorecode, de game id en de gebruikersnaam naar de server verzonden. Deze retourneert, als alles goed is, een nieuwe scorecode.
- De voorgaande twee stappen worden zo vaak als nodig herhaald.
Uiteraard, een echt goede hacker kan vast wel achter de door het spel gebruikte formules komen. Echter, als je de formules niet kent is het onmogelijk punten erbij te hacken.
Geef een reactie
Je moet inloggen om een reactie te kunnen plaatsen.