diff options
author | Manuel Munz <freifunk@somakoma.de> | 2013-09-03 17:40:55 +0000 |
---|---|---|
committer | Manuel Munz <freifunk@somakoma.de> | 2013-09-03 17:40:55 +0000 |
commit | 3701d2ffbcedc50ae88954182544fe54b46d1763 (patch) | |
tree | 45b5f9f3f10139ef170f248ffe5b515654a220ff | |
parent | 1354c88aee5bc354b639b5798e3f3bb826246658 (diff) |
core/sysauth: Redirect to https on login page if possible, #317
-rw-r--r-- | modules/admin-core/luasrc/view/sysauth.htm | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/modules/admin-core/luasrc/view/sysauth.htm b/modules/admin-core/luasrc/view/sysauth.htm index 8c4b19c7c8..7c39f0da51 100644 --- a/modules/admin-core/luasrc/view/sysauth.htm +++ b/modules/admin-core/luasrc/view/sysauth.htm @@ -9,8 +9,6 @@ You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -$Id$ - -%> <%+header%> @@ -51,4 +49,32 @@ $Id$ if (input) input.focus(); //]]></script> + +<% +local uci = require "luci.model.uci".cursor() +local fs = require "nixio.fs" +local https_key = uci:get("uhttpd", "main", "key") +local https_port = uci:get("uhttpd", "main", "listen_https") +if type(https_port) == "table" then + https_port = https_port[1] +end + +if https_port and fs.access(https_key) then + https_port = https_port:match("(%d+)$") +%> + +<script type="text/javascript">//<![CDATA[ + if (document.location.protocol != 'https:') { + var url = 'https://' + window.location.hostname + ':' + '<%=https_port%>' + window.location.pathname; + var img=new Image; + img.onload=function(){window.location = url}; + img.src='https://' + window.location.hostname + ':' + '<%=https_port%>' + '<%=resource%>/cbi/up.gif?' + Math.random();; + setTimeout(function(){ + img.src='' + }, 5000); + } +//]]></script> + +<% end %> + <%+footer%> |