1<!DOCTYPE html> 2<html> 3 <head> 4 <title>Weblication® Anmeldemaske</title> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <meta http-equiv="cache-control" content="no-cache" /> 7 <meta http-equiv="expires" content="0" /> 8 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> 9 <meta name="robots" content="noindex, follow" /> 10 <link rel="stylesheet" href="/weblication/grid5/gui/styles/grid.css?av=a9fa3f" /> 11 <link rel="stylesheet" href="/weblication/grid5/gui/styles/wui.css?av=a9fa3f" /> 12 <style> 13 html { 14 15 --wFontSizeUiDefault:12px; 16 17 height:100%; 18 19 @media (-webkit-min-device-pixel-ratio:2){--wBorderSize:0.5px;} } 20 21 body {height:100%;background:radial-gradient(#dbdbdb 0%,#bebebe 100%);-webkit-user-select:none;} 22 23 a {color:#000000} 24 25 #loginStatus {width:320px;height:60px;position:absolute;top:50%;left:50%;margin-top:156px;margin-left:-160px;text-align:center;line-height:19px} 26 .mfa #loginStatus {margin-top:100px} 27 #blockLogin {width:320px;height:320px;position:absolute;top:50%;left:50%;margin-top:-180px;margin-left:-160px;box-shadow:0 0 32px 8px rgba(0, 0, 0, 0.08);outline:solid 1px #cbcbcb;background-color:#f0f0f0;transition:top 0.3s ease-in-out,margin 0.3s ease-in-out,height 0.3 ease-in-out;border-radius:5px;} 28 .mfa #blockLogin {height:260px;} 29 #blockLogin:after {content:'';position:absolute;width:calc(100% - 20px);height:0%;top:10px;left:10px;background-color:#f0f0f0;opacity:0;transition:opacity 0.2s linear} 30 #blockLogin.inProgress:after {height:calc(100% - 20px);opacity:0.7} 31 32 #blockLogin:before {content:'';position:absolute;display:block;z-index:1;width:100%;height:158px;background-image:url('/weblication/grid5/gui/images/logo-g.svg');background-repeat:no-repeat;background-size:200px;background-position:30px 30px} 33 .weblication-s #blockLogin:before {background-image:url('/weblication/grid5/gui/images/logo-s.svg');background-position:72px 68px} 34 .weblication-c #blockLogin:before {background-image:url('/weblication/grid5/gui/images/logo-c.svg');background-position:10px 32px;background-size:240px} 35 .weblication-g #blockLogin:before {background-image:url('/weblication/grid5/gui/images/logo-g.svg');background-position:50px 32px;background-size:240px} 36 .weblication-a #blockLogin:before {background-image:url('/weblication/grid5/gui/images/logo-a.svg');background-position:36px 88px;background-size:240px} 37 .weblication-o #blockLogin:before {background-image:url('/weblication/grid5/gui/images/logo-o.svg');background-position:36px 4px;background-size:240px} 38 39 40 #formLogin {margin:164px 38px 40px 26px;} 41 #formMFA {margin:164px 38px 40px 26px;display:none} 42 43 dl {width:100%;overflow:hidden;margin:0} 44 dl:after {content:'';clear:both;width:0;height:0} 45 dl dt {width:94px;float:left;clear:both;height:32px;line-height:25px;text-align:right;white-space:nowrap} 46 dl dd {width:154px;float:right;height:20px;margin-top:-32px} 47 dl input {margin:0;width:140px;-webkit-appearance:none;border:solid var(--wBorderSize) #c0c0c0;border-radius:2px;height:24px;padding:0 6px;} 48 .totp dl input {border-color:#5471af;font-family:courier, arial;font-size:15px;letter-spacing:12px} 49 button.wui-button {width:153px;line-height:16px;float:right;margin-right:1px} 50 .totp #button_login_confirmed {display:none} 51 52 #loginProgress {visibility:hidden} 53 .linksLoggedIn, 54 .linksLoggedIn a {color:#777777;padding:0 3px;text-decoration:none} 55 .linksLoggedIn a:hover {text-decoration:underline} 56 #rowKeepCookie {float:right;clear:both;margin-top:8px;color:#666666} 57 #rowKeepCookie input {border:solid 1px #c0c0c0;width:auto;height:auto;margin-right:4px} 58 #rowKeepCookie * {line-height:19px;vertical-align:middle} 59 60 #inputPassword {width:118px;border-right:none;border-radius:2px 0 0 2px} 61 #wsp {display:inline-block;position:absolute;background-color:#ffffff;width:22px;height:24px;border:solid var(--wBorderSize) #c0c0c0;border-left:none;border-radius:0 2px 2px 0} 62 #wsp:before {opacity:0.5;margin-top:2px;content:'';display:block;width:20px;height:20px;background-image:url('/weblication/grid5/gui/images/icons.svg');background-size:800px;background-repeat:no-repeat;background-position:-292px -70px} 63 body[data-sp='1'] #wsp:before {opacity:1} 64 65 #loggedInAs a {display:inline-block;position:relative} 66
67 #notLoggedIn a {color:#777777;padding:0 3px;text-decoration:none} 68 #notLoggedIn a:hover {text-decoration:underline} 69 70 #linkWebsite:after {content:'';display:block;position:absolute;bottom:0;left:0;width:0;height:1px;background-color:#2e50a1} 71 #linkWebsite.progressLink:after {width:100%;transition:all 1s linear} 72 73 @media only screen and (max-width: 520px){ 74 body {background:none;background-color:#f0f0f0;} 75 #blockLogin {outline:none;box-shadow:none} 76 } 77 78 @media only screen and (max-height:520px){ 79 #blockLogin {top:0;margin-top:0} 80 #loginStatus {top:0;margin-top:340px} 81 .mfa #loginStatus {margin-top:280px} 82 body {background:none;background-color:#f0f0f0;} 83 #blockLogin {outline:none;box-shadow:none} 84 } 85 86 </style> 87
87<script src="/weblication/grid5/gui/scripts/wLogin.js?av=a9fa3f"></script>
87 88
88<script src="/weblication/grid5/gui/scripts/grid.js?av=a9fa3f"></script>
88 89
89<script> 90 /*<![CDATA[*/ 91 92 var mfaType = ''; 93 var at = ''; 94 95 function login(){ 96 if(wDocument.wHasClass('#blockLogin', 'inProgress')){ 97 return false; 98 } 99 wDocument.show('#loginProgress'); 100 wDocument.hide('#ipLocked'); 101 wDocument.hide('#userInactive'); 102 wDocument.hide('#loginFailed'); 103 104 postStr = "action=login&loginusername=" + encodeURIComponent( document.frmLogin.username.value ) + "&loginpassword=" + encodeURIComponent(document.frmLogin.password.value) + "&keepCookie=" + (document.frmLogin.keepCookie.checked ? '1' : '0') + "&considerStart=1"; 105 106 wDocument.wAddClass('#blockLogin', 'inProgress'); 107 wGetUrlPost('/weblication/grid5/scripts/wSystem.php?' + postStr, 108 function loginResponse(responseText){ 109 110 responseText = responseText.replace(/^\s+/, '').replace(/\s+$/, ''); 111 112 if(responseText.substr(0, 6) == 'm:totp'){ 113 at = responseText.substr(7); 114 mfaType = 'totp'; 115 wDocument.wRemoveClass('#blockLogin', 'inProgress'); 116 wDocument.hide('#loginProgress'); 117 wDocument.hide('#ipLocked'); 118 wDocument.hide('#userInactive'); 119 wDocument.hide('#loginFailed'); 120 wDocument.hide('#formLogin'); 121 wDocument.show('#totpRequired'); 122 wDocument.show('#formMFA'); 123 document.frmLogin.password.value = ''; 124 document.frmMFA.keepCookie.value = document.frmLogin.keepCookie.checked ? '1' : '0'; 125 document.frmMFA.tan.value = ''; 126 document.frmMFA.tan.focus(); 127 wDocument.wAddClass('body', 'mfa'); 128 wDocument.wAddClass('body', 'totp'); 129 wDocument.element('#tan').setAttribute('maxlength', 6); 130 wDocument.element('#tan').onkeyup = wDocument.element('#tan').onchange = function(){ 131 if(event.target.value.length == 6){ 132 mfa(); 133 } 134 } 135 wDocument.element('#tanCaption').innerHTML = 'TAN'; 136 } 137 else if(responseText.substr(0, 7) == 'm:email'){ 138 at = responseText.substr(8); 139 mfaType = 'email'; 140 wDocument.wRemoveClass('#blockLogin', 'inProgress'); 141 wDocument.hide('#loginProgress'); 142 wDocument.hide('#ipLocked'); 143 wDocument.hide('#userInactive'); 144 wDocument.hide('#loginFailed'); 145 wDocument.hide('#formLogin'); 146 wDocument.show('#tanRequired'); 147 wDocument.show('#formMFA'); 148 document.frmLogin.password.value = ''; 149 document.frmMFA.keepCookie.value = document.frmLogin.keepCookie.checked ? '1' : '0'; 150 document.frmMFA.tan.value = ''; 151 document.frmMFA.tan.focus(); 152 wDocument.wAddClass('body', 'mfa'); 153 wDocument.element('#tanCaption').innerHTML = 'TAN'; 154 } 155 else if(responseText.substr(0, 1) == 's'){ 156 document.frmLogin.username.value = ''; 157 document.frmLogin.password.value = ''; 158 updateLoginStatus(); 159 redirectIfIsLoggedIn(responseText.substr(2)); 160 return; 161 } 162 else if(responseText.substr(0, 1) == 'f'){ 163 if(responseText.substr(2) == 'ipLocked'){ 164 wDocument.show('#ipLocked'); 165 wDocument.hide('#userInactive'); 166 wDocument.hide('#loginFailed'); 167 document.frmLogin.password.value = ''; 168 document.frmLogin.password.focus(); 169 } 170 else if(responseText.substr(2) == 'inactive'){ 171 wDocument.hide('#ipLocked'); 172 wDocument.show('#userInactive'); 173 wDocument.hide('#loginFailed'); 174 document.frmLogin.password.value = ''; 175 document.frmLogin.password.focus(); 176 } 177 else{ 178 wDocument.hide('#ipLocked'); 179 wDocument.hide('#userInactive'); 180 wDocument.show('#loginFailed'); 181 document.frmLogin.password.value = ''; 182 document.frmLogin.password.focus(); 183 } 184 updateLoginStatus(); 185 } 186 else{ 187 wMessagebox({ 188 'type': 'error', 189 'title': 'Hinweis', 190 'content': 'Es ist ein Fehler aufgetreten! Möglicherweise haben Sie keine gültige Lizenz für diese Domain. <a target="_blank" href="https://weblik.de/Vorgehensweise-bei-ungueltiger-Lizenz">Mehr Infos zu diesem Thema</a>', 191 'buttons': [{'caption': 'ok', 'icon': 'cancel', 'action': function(){ 192 wHideBlocker(); 193 }}] 194 }); 195 } 196 window.setTimeout(function(){ 197 wDocument.wRemoveClass('#blockLogin', 'inProgress'); 198 }, 500); 199 } 200 ); 201 } 202 203 function mfa(){ 204 if(wDocument.wHasClass('#blockLogin', 'inProgress')){ 205 return false;
206 } 207 wDocument.show('#loginProgress'); 208 wDocument.hide('#ipLocked'); 209 wDocument.hide('#userInactive'); 210 wDocument.hide('#loginFailed'); 211 212 postStr = "action=confirmmfa&loginusername=" + encodeURIComponent(document.frmLogin.username.value) + "&tan=" + encodeURIComponent(document.frmMFA.tan.value) + "&keepCookie=" + (document.frmMFA.keepCookie.value) + "&considerStart=1&at=" + at; 213 214 wDocument.wAddClass('#blockLogin', 'inProgress'); 215 216 wGetUrlPost('/weblication/grid5/scripts/wSystem.php?' + postStr, function(responseText){ 217 //wDocument.wRemoveClass('#blockLogin', 'inProgress'); 218 if(responseText.substr(0, 1) == 's'){ 219 document.frmLogin.username.value = ''; 220 document.frmLogin.password.value = ''; 221 updateLoginStatus(); 222 redirectIfIsLoggedIn(responseText.substr(2)); 223 return; 224 } 225 else if(responseText.substr(0, 1) == 'f'){ 226 if(responseText.substr(2) == 'ipLocked'){ 227 wDocument.show('#ipLocked'); 228 wDocument.hide('#userInactive'); 229 wDocument.hide('#totpRequired'); 230 wDocument.hide('#tanRequired'); 231 wDocument.hide('#totpFailed'); 232 wDocument.hide('#tanFailed'); 233 234 document.frmMFA.tan.value = ''; 235 document.frmLogin.password.value = ''; 236 document.frmLogin.password.focus(); 237 } 238 else if(responseText.substr(2) == 'inactive'){ 239 wDocument.hide('#ipLocked'); 240 wDocument.show('#userInactive'); 241 if(mfaType == 'totp'){ 242 wDocument.show('#totpFailed'); 243 } 244 else{ 245 wDocument.show('#tanFailed'); 246 } 247 document.frmMFA.tan.value = ''; 248 document.frmLogin.password.value = ''; 249 document.frmLogin.password.focus(); 250 } 251 else{ 252 wDocument.wRemoveClass('#blockLogin', 'inProgress'); 253 wDocument.hide('#ipLocked'); 254 wDocument.hide('#userInactive'); 255 if(mfaType == 'totp'){ 256 wDocument.show('#totpFailed'); 257 } 258 else{ 259 wDocument.show('#tanFailed'); 260 } 261 document.frmMFA.tan.value = ''; 262 document.frmLogin.password.value = ''; 263 document.frmLogin.password.focus(); 264 } 265 updateLoginStatus(); 266 } 267 }); 268 } 269 270 function updateLoginStatus(){ 271 wGetUrl('/weblication/grid5/scripts/wSystem.php?action=getusername', function(response){ 272 username = response; 273 if(username && username != ''){ 274 wDocument.show('#loggedInAs'); 275 wDocument.hide('#notLoggedIn'); 276 wDocument.element('#currentUserName').innerHTML = username; 277 } 278 else{ 279 wDocument.hide('#loggedInAs'); 280 wDocument.show('#notLoggedIn'); 281 } 282 }); 283 } 284 285 function firstLogin(){ 286 alert('StandardmäÃig wird als Benutzername "admin" und als Passwort "admin" verwendet. Bitte ändern Sie das Passwort, nachdem Sie sich eingeloggt haben!'); 287 } 288 289 function toggleShowPassword(){ 290 if(document.frmLogin.password.type == 'password'){ 291 document.frmLogin.password.type = 'text'; 292 document.body.setAttribute('data-sp', '1') 293 } 294 else{ 295 document.frmLogin.password.type = 'password'; 296 document.body.setAttribute('data-sp', '0') 297 } 298 } 299 300 function redirectIfIsLoggedIn(userType){ 301 var urlRedirect = ''; 302 var admin = false; 303 304 if(userType.search(/r:(.*$)/) != -1){ 305 if(urlRedirect == ''){ 306 urlRedirect = RegExp.$1; 307 } 308 userType = userType.replace(/\sr:.*$/, ''); 309 } 310 311 urlRedirect = urlRedirect.replace(/^(https?\:)?\/\/[^\/]+/, ''); 312 313 314 315 if(urlRedirect == '' || urlRedirect.indexOf(':') != -1){ 316 urlRedirect = '/'; 317 } 318 319 if(urlRedirect == 'backend' && userType == 'admin'){ 320 var screenWidth = screen.width; 321 var screenHeight = screen.height; 322 if(screenWidth > 1280){ 323 screenWidth = 1280; 324 screenHeight = 795; 325 } 326 else{ 327 screenWidth = 'max'; 328 screenHeight = 'max'; 329 } 330 331 var rtc = wOpenWin('/weblication/grid5/scripts/wSystem.php', 'wGridBackend_desiree_forschung_de', screenWidth, screenHeight, 'resizable=yes'); 332 333 wDocument.hide('#ipLocked'); 334 wDocument.hide('#userInactive'); 335 wDocument.hide('#loginFailed'); 336 window.setTimeout(function(){ 337 wDocument.wRemoveClass('#blockLogin', 'inProgress'); 338 }, 500); 339 } 340 else if(urlRedirect != '' || userType == 'admin' || userType == 'standard' || userType == 'author' || userType == 'public'){ 341 window.setTimeout(function(){ 342 wDocument.wAddClass('#linkWebsite', 'progressLink'); 343 }, 500); 344 location.href = urlRedirect; 345 } 346 } 347 348 wDocument.ready(function(){ 349 350 var urlRedirect = getParameter('redirect'); 351 if(urlRedirect.indexOf('/cloud') === 0 || urlRedirect.indexOf('/weblication/grid5/scripts/wCloud.php') === 0){ 352 document.body.className = 'weblication-o'; 353 } 354 355 document.frmLogin.username.focus(); 356 updateLoginStatus(''); 357 358 try{ 359 if(!navigator.cookieEnabled){ 360 wMessagebox({ 361 'type': 'info', 362 'title': 'Ihr Browser unterstützt keine Cookies!', 363 'content': 'Bitte aktivieren Sie Cookies für diese Domain in den Einstellungen Ihres Browsers.<br />Laden Sie diese Seite anschlieÃend neu.', 364 'buttons': [{'caption': 'SchlieÃen', 'icon': 'cancel', 'selected' : false, 'action': function(){ 365 }}] 366 }); 367 } 368 } 369 catch(e){ 370 } 371 }); 372 /*]]>*/ 373 </script>
373 374 </head> 375 <body class="weblication-g"> 376 <div id="loginStatus"> 377 <div id="loginFailed" style="display:none;color:red;">You could not log in! Check the entered data and try again.<br/><a target="_blank" href="https://weblik.de/Login-fehlerhaft">More info</a></div> 378 <div id="tanFailed" style="display:none;color:red;">The system could not log you in! Check the TAN you entered and try again. Note that the TAN only has a limited validity period.<br/><a href="/weblication" style="color:#888888;line-height:28px">Login again</a><br/></div> 379 <div id="totpFailed" style="display:none;color:red;">The number is not valid. Please note that the valid number changes every 30 seconds!<br/><a href="/weblication" style="color:#888888;line-height:28px">Login again</a><br/></div> 380 <div id="ipLocked" style="display:none;color:red;">You have tried to log in too often with false data and have login again!<br/><a href="/weblication" style="color:#888888;line-height:28px">Login again</a><br /><a target="_blank" href="https://weblik.de/Login-fehlerhaft">More info</a></div> 381 <div id="userInactive" style="display:none;color:red">Ihr Benutzer ist nicht aktiv.<br />Bitte wenden Sie sich an den Administrator.<br/><a target="_blank" href="https://weblik.de/Login-fehlerhaft">More info</a></div> 382 <div id="loggedInAs" style="display:none"> 383 <div>You are logged in as: <span id="currentUserName"></span></div> 384 <div class="linksLoggedIn"> 385 <a id="linkWebsite" href="/">Website</a> 386 <a id="linkCloud" href="/cloud">Cloud</a> 387 <a id="linkLogout" href="/weblication/grid5/scripts/wSystem.php?action=logout&redirect=/weblication">Logout</a> 388 </div> 389 </div> 390 <div id="tanRequired" style="display:none;color:#000000">We have sent you a TAN by mail. Please enter it here in the field to complete the registration.</div> 391 <div id="totpRequired" style="display:none;color:#000000;width:210px;margin:0 auto">Please enter the six-digit number from your two-factor app</div> 392 <div id="loginProgress" style="display:none;position:absolute;bottom:64px;right:24px;width:240px;height:110px;background-color:#dddddd;opacity:0.5;filter:alpha(opacity=50)"><img src="/weblication/grid5/gui/images/style/loading.gif" alt="" style="margin:58px 20px"/></div> 393 </div> 394 <div id="blockLogin"> 395 <form id="formLogin" name="frmLogin" method="post" action="" onsubmit="login();return false;"> 396 <input type="hidden" name="redirect" value="" /> 397 <dl> 398 <dt>Username</dt> 399 <dd><input type="text" id="inputUsername" name="username" autocapitalize="none" value="" /></dd> 400 <dt>Password</dt> 401 <dd><input type="password" id="inputPassword" name="password" autocomplete="off" value="" onfocus="document.body.setAttribute('data-fp', '1')" onblur="document.body.setAttribute('data-fp', '0')"/> 402 <div id="wsp" title="Passwort im Klartext anzeigen" onclick="toggleShowPassword()"></div></dd> 403 </dl> 404 <button id="button_login" class="wui-button" type="submit">Login</button> 405 <div id="rowKeepCookie"><input type="checkbox" id="keepCookie" name="keepCookie"/><label for="keepCookie">Stay signed in</label></div> 406 </form> 407 <form id="formMFA" name="frmMFA" method="post" action="" onsubmit="mfa();return false;"> 408 <input type="hidden" name="redirect" value="" /> 409 <input type="hidden" name="keepCookie" value="" /> 410 <dl> 411 <dt id="tanCaption">TAN</dt> 412 <dd> 413 <input type="text" id="tan" name="tan" autocapitalize="none" value="" autocomplete="one-time-code"/> 414 </dd> 415 </dl> 416 <button id="button_login_confirmed" class="wui-button" type="submit">Anmeldung abschlieÃen</button> 417 </form> 418 </div> 419 </body> 420</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.