I have couple Android apps on PlayStore, which use In-App purchases. I use Google App Engine for my back end. Usually, the apps call the API very occassionally, but I see some users calling the APIs abnormally/ repeatedly (may be to reverse engineer or hack? using a script?). I can figure out the IP address, Gmail ID, etc. How to prevent these people from accessing my API?
One suggestion is to use dos.xml
But these morons seem to constantly change the IP addresses, so it is painful to keep updating this list.
Any help is greatly appreciated. I can post the email addresses and IP addresses if it is helpful for others. These seem to originate from all over the world! (US, Brazil, Columbia, Israel, ...)
I have couple Android apps on PlayStore, which use In-App purchases. I use Google App Engine for my back end. Usually, the apps call the API very occassionally, but I see some users calling the APIs abnormally/ repeatedly (may be to reverse engineer or hack? using a script?). I can figure out the IP address, Gmail ID, etc. How to prevent these people from accessing my API?
One suggestion is to use dos.xml
It is from Android devices with a valid Google user login - since I am using Google Users API and OAuth for authentication. I don't understand how they are able to make (or use my app to make) those calls so frequently.
Are you Google employee? Can't google disable these IDs (or block those IPs)? ( I can provide logs. Since I am using Google App Engine, Google can verify it themselves. if I give my project ID)
Lastly, you might want to try implementing rate limiting in your web app and starring this issue: Isse 6733 Rate Limiting For DOS attacks.