Timeline for How can I prevent API bot automation by a legitimate user?
Current License: CC BY-SA 4.0
12 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Feb 11, 2021 at 0:37 | answer | added | 8vtwo | timeline score: 0 | |
Feb 11, 2021 at 0:09 | answer | added | Mike Ounsworth | timeline score: 2 | |
Feb 10, 2021 at 23:32 | answer | added | Polynomial | timeline score: 4 | |
Feb 10, 2021 at 23:00 | comment | added | Joshua Frank | Let us continue this discussion in chat. | |
Feb 10, 2021 at 22:59 | comment | added | Joshua Frank | @Polynomial: some of the games are quizzes, so you'll answer N multiple choice questions and get M of them right, and we need to know what M is. Some are games where you have to complete N tasks worth 360 points, and you complete M of them for, say, 240 points, and we need to know that. In some, you have to work your way through 20 stages, and we send an update after stage 1, 2, 3, ..., 20. Some have rounds and sub-rounds, so we need to know 1.1, 1.2, 1.3 and then 2.1, 2.2, 2.3, etc. We also generally need to know which game you were playing, and how long it took, and a few other metrics. | |
Feb 10, 2021 at 22:21 | comment | added | Polynomial | @JoshuaFrank If it helps at all, I don't need to know the content of the game - I really don't care if it's My Little Pony, porn, neither, or both. It's irrelevant. Just the general mechanics of how the user interacts with the game will do. | |
Feb 10, 2021 at 22:05 | comment | added | Polynomial | @JoshuaFrank Can you elaborate a bit more than that? The "totalQuestions" variable implies some kind of quiz. I need to know a bit more than "a game you play and you have to complete it" in order to give you some examples of how you can move to a more server-authoritative model without sacrificing UX. You mention "many different types of games" - is there a common thread to the games? Are we talking something like Boardgame Arena? Some sort of quiz site? A bunch of story-driven RPGs? The details help a lot with writing a helpful answer. | |
Feb 10, 2021 at 22:00 | comment | added | Joshua Frank | @Polynomial: it's actually many different kinds of games, but the general idea is that there's a game that you play and either you just have to complete the game and it sends a message saying so: (playerId = 456, gameId = 123, completed = true) or maybe there are 10 tasks and the message is (playerId = 456, gameId = 123, totalQuestions = 10, correctAnswers = 9). There are about 250 games, divided into families, and each family has a basically similar kind of progress message, with some variation across families. | |
Feb 10, 2021 at 21:55 | comment | added | Joshua Frank | @hft: Agreed, but the client is the only place that knows that, for example, a game was completed. How can the client relay that result back to the server without relying on the client performing the task? | |
Feb 10, 2021 at 21:54 | comment | added | Polynomial | What type of game is it? Platformer, FPS, flappy bird clone? I've got experience with developing and combating game cheats but it's much easier to write a helpful answer if I can make my examples applicable to your use-case. | |
Feb 10, 2021 at 21:53 | comment | added | hft | Redesign your web app so you are not relying on client-side JavaScript to perform sensitive integrity-related tasks (e.g., the hashing you mention). | |
Feb 10, 2021 at 21:43 | history | asked | Joshua Frank | CC BY-SA 4.0 |