reading logs in google app engine - java

after launching your app on google app engine.
you can use the 'logs' page in the admin console to see a how many requests were made,
any http:// 404 errors etc.
It's hard to make sense of how many visitors you really got and or others.
Am I missing something here ?
Can somebody tell me how to read logs on a google app engine.
Many Thanks

The logs are not meant to control site visits. For that you should use google analytics.

You can download request logs in Apache log format using the appcfg tool.

In essence, google kinda expects you to use Google Analytics (being it their tool :-) )
What you could do however, is add some kind of loggin, where you'd simply write to a text-file, or call some kind of webservice that would do it for you.
Cheers

Related

How to check what endpoints Java app is requesting

There's a mobile app I need to debug and find out what endpoints with what parameters is it using. How can I do it?
I thought about using Wireshark, but all endpoints are in https. I tried using Android Studia (I am not Java developer, so I have no experience using it) but the app from official source did not start.
I tried to analyze the code and I think I found right endpoints, but I can't find format of parameters that are supposed to be sent with those requests.
Is there any other way of finding out other than debugging those .smali files?

Android- Secure client server communication

I am very new to writing apps so please bear with me :)
I am writing an Android app that communicates with my server to send GET request and get some data from the server and show it to client (android app user).
API URL:
http://myserver.com/get.php
GET data/variables
api: my api key
extra GET variables
It'd be like:
http://myserver.com/get.php?api=XXXXXXXXXXXXXXXXXXX&extra=something&fields=here
So can an attacker see the API key by decoding the app with tools like apktool, smali etc? If yes then how can I secure it?
Note : the answer you are going to read are based on my experience and my research, feel free to comment if my information is wrong. Im not a network architect, but i have some experiences building web services, and did hours of research (because just like you, i dont understand about security at first). I hope this will help you.
Use POST, its safer than GET if you use REST.
Use HTTPS (i know its a little bit more expensive)
Use SOAP, instead of REST if you really need good security (ex : Banking Apps).
Use Dexguard/Proguard so your apps will be hard to reverse engineered.

Monitor google search in Java

for my master thesis I need to keep track of google searches that the users perform. It should be a web project. At first I want to setup a server (that acts like a proxy) to monitor all actions (search queries) performed by the user.
The server should deliver the google search page. I need to keep track of the input the users make and the corresponding results returned from google as well.
My questen is now.. How should I start?
I am not really sure which webserver to use. Should I use tomcat / jetty / or something else?
What about Java Server Faces or Servlets? I worked with JSF long time ago but I am not sure whether its a good decision to use it.
The server should deliver the google search page. Here is my idea: The user connects to my server. The server "reads" the google page and returns it (the source code) to the user. I think of using a listener on the default search field to monitor the search queries of the users. But how is it possible to monitor the results returned from google? The google site itself uses JavaScript I guess. So when the user makes some input it is directly sent to google and the results are directly shown on the webpage thus my webserver does not see anything from the connection between the client and the google services.
The main idea is to monitor a search query and the corresponding search results.
I just need some help and ideas to get started. This is just a small part of my thesis. I do not want to start from zero during my editing time thus I want to make sure that I make the right choices before I start.
Thank you in advance... best regards.
You could use netty as a proxy and just filter and log all search queries. But then again why even use java? From what you describe you wan't to play man-in-the-middle and manipulate/log http traffic.
A quick google search came up with this for python: https://code.google.com/p/proxpy/
Edit: and similar in java https://github.com/adamfisk/LittleProxy

Google App Engine, Java, and HTTP Performance

A friend and I are currently working on a turn-based game with chat with both desktop browser and Android clients, with Google App Engine as the server.
We're using the Java API for GAE and using HTTP for communication with the server. We've implemented simple chat functionality, and we're getting undesirable latencies 1-3 seconds from both the browser and Android clients while just posting simple one-word chat messages.
My friend thought it would be best to use XMPP instead of HTTP, but we want to use a Google Accounts cookie for authentication from the Android client, and according to the GAE documentation, XMPP clients cannot use a Google Accounts cookie and must use the user's password.
Does anyone have any suggestions as to where the latency might be coming from, how to troubleshoot it, and/or what to do about it?
Also, is anyone aware of any opensource implementations of chat (or something similar) on GAE done in Java? Can't seem to find any.
One way to analyze the situation would be to use Wireshark to look at the network traffic during the delays.
You don't say how your chat messages are getting from one JVM to the other. If you're using the datastore, maybe try memcache?
Also, startup time is often an issue; app engine starts and stops JVMs all the time, particularly for a low-traffic app. A way to diagnose this is to reload the page a bunch of times (send more messages) and see if it gets faster after a while. It should be pretty easy to tell the difference in the admin console logs.

Has anyone gotten Recaptcha to run on the Google App Engine (in Java)?

I followed the recaptcha instructions and created a simple app that works if I run it in Eclipse using a local Tomcat server but the same files give an error (verify-params-incorrect) when validating the user's response when run in Eclipse using the local Google App Engine SDK.
Are you using the Java code linked to on the reCAPTCHA site? I took a quick look at it, and I suspect that the SimpleHttpLoader class uses some Java classes that are no allowed by Google's AppEngine.
So, here is what I know: Running locally, I get the same error as you.
But, when I deploy it to AppEngine, it works! For the forum posts I've read, I suspect it has to do with the remote IP address (127.0.0.1) when running locally.
This is sort of an impertinent answer, but are you sure you really need to pester your potential users with a captcha at all? There's a great article over on sitepoint entitled "10 Things to Check Before Using a CAPTCHA"
I had no problems at all locally with Google App Engine or deployed with recaptcha4j-0.0.8.jar and Google App Engine SDK 1.6.6. I followed the reCaptcha tutorial for Java at https://developers.google.com/recaptcha/docs/java.
Check here for recaptcha4j lastest version: http://code.google.com/p/recaptcha4j/downloads/list

Categories