From: Jeremy Tan Date: Thu, 24 Oct 2013 11:37:32 +0000 (+0800) Subject: Only use POST for login, and only if the GET string is empty X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=c0f2a81316e9135c85e0d9aaf46aeea4e851e156;p=matches%2FMCTX3420.git Only use POST for login, and only if the GET string is empty Fix 'friendly name' too. --- diff --git a/server/fastcgi.c b/server/fastcgi.c index 19d2869..94742bd 100644 --- a/server/fastcgi.c +++ b/server/fastcgi.c @@ -591,10 +591,8 @@ void * FCGI_RequestLoop (void *data) //strncpy doesn't zero-truncate properly snprintf(module, BUFSIZ, "%s", getenv("DOCUMENT_URI_LOCAL")); - //Read from post body. If not empty, try GET instead. - if (fgets(params, BUFSIZ, stdin) == NULL || *params == '\0') { - snprintf(params, BUFSIZ, "%s", getenv("QUERY_STRING")); - } + //Get the GET query string + snprintf(params, BUFSIZ, "%s", getenv("QUERY_STRING")); //URL decode the parameters FCGI_URLDecode(params); @@ -653,6 +651,13 @@ void * FCGI_RequestLoop (void *data) //Escape all special characters. //Don't escape for login (password may have special chars?) FCGI_EscapeText(params); + } else { //Only for Login handler. + //If GET data is empty, use POST instead. + if (*params == '\0') { + Log(LOGDEBUG, "Using POST!"); + fgets(params, BUFSIZ, stdin); + FCGI_URLDecode(params); + } } module_handler(&context, params); diff --git a/testing/MCTXWeb/public_html/static/mctx.gui.js b/testing/MCTXWeb/public_html/static/mctx.gui.js index 3df2bac..c64f3c4 100644 --- a/testing/MCTXWeb/public_html/static/mctx.gui.js +++ b/testing/MCTXWeb/public_html/static/mctx.gui.js @@ -123,7 +123,7 @@ function runBeforeLoad(isLoginPage) { window.location = mctx.location + "login.html"; } } else { - mctx.friendlyName = data.friendly_name; + mctx.friendlyName = data.user_name; } }).fail(function (jqHXR) { if (mctx.debug) {