Yep. Datastore call and possibly Memcache (usually when someone is banned they stay banned).
A optimization here would to cache something like a bloom filter ( http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=bloom+filter) in local memory, and if a user hashes to "in the set", check again to the datastore. This will work well because the false positives/banned users will be a VERY small percentage of your total user base, and it saves you the hassle of having to check each time. The only trick is expiring that cache: you might want the cache to expire every 5-10 minutes or so, which means a banned user isn't actually banned for that window. Also - since instances don't share memory, it's possible for instances to be out of sync from one another during that window. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Tue, Aug 16, 2011 at 11:15 AM, Renan Mobile <[email protected]>wrote: > Hello, > > I didn't figure out another way. So i check if the user is ban in each RPC > call > > Atenciosamente, > > ----- > Presidente Renan Franca > ____ > Renan Mobile ltda: http://renanmobile.com - Soluções em Dispositivos > Móveis (Smartphones) com integração via web. > Soluções em: > Android (Smartphones); > Google Web Toolkit (Web); > > > > > 2011/8/15 Rohan Chandiramani <[email protected]> > >> Greetings gentlemen, >> >> I haven't found ANY articles either here or on SO >> about discussing methods of keeping the bad people out of your app, so i'l >> just ask it here. >> I want to be able to press a button that will ban the user >> from accessing my app and the most straightforward thing i can think of is >> on my one and only RPC call also check if the user is banned by checking my >> 'banned' table. >> >> but... >> >> This costs me a database call each time. >> >> So i'm wondering, how do all the cool developers handle this problem? >> Like what i'm suggesting or is there a some secret api that handles it for >> me. >> >> I'm not asking my users to log in. >> >> Thanks, >> >> Rohan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/google-appengine-java/-/67aKbQA64PoJ. >> To post to this group, send email to >> [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/google-appengine-java?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
