2017-04-01 7 views
0

ウェブアプリケーションとコンピュータを一時的に放置する必要がある場合は、画面ロック状態にして一意のパスワードを再度入力してロックを解除する安全な方法があります。私たちのWebアプリケーションでログアウトせずにログイン画面を表示すると、このようなロック画面ページを簡単に追加できるようです。 ロック画面のロジックを完璧にするにはどうすればいいですか?

enter image description here

しかし、私は、ロック画面のロジックを完成することができますどのようにMETRONIC

から

ロック画面のデモ。 たとえば、他の人が前方または後方のツールを使用して現在のURLを変更できないようにすることはできますか?

+0

'mousemove'の中で' setTImeout'を実行します。それを 'clearTimeout'にして、マウスが動くたびにリセットしてください。 – PHPglue

答えて

-1

定義することはできません。

バックおよびフォワードボタンはブラウザの機能ですので、JavaScriptで変更することはできません。

ユーザーがロックされるたびに何がが行うことができますする(ページをロックするすべてのページのリダイレクトをロックされている場合)あなたが使用する必要があるので、彼は、それのログイン一部を無視

+0

はい、あなたは正しいです。ロックページを出る方法を人に教えないようにする方法を教えてください。 –

+0

イベントlistent ** onbeforeunload **を使用していますが、ページをロックできません。あなたは私にヒントを与えることができますか? 'window.onbeforeunload = function(){//}' –

0

をロックページを残すための方法はありませんされますSSL経由でサーバーとログインに送信するAJAX:

// external.js 
 
var doc, bod, htm, C, E, T; // for use on other loads 
 
addEventListener('load', function(){ 
 

 
doc = document; bod = doc.body; htm = doc.documentElement; 
 
C = function(tag){ 
 
    return doc.createElement(tag); 
 
} 
 
E = function(id){ 
 
    return doc.getElementById(id); 
 
} 
 
T = function(tag){ 
 
    return doc.getElementByTagName(tag); 
 
} 
 
var form = E('form'), fS = form.style, sub = E('sub'), tO; 
 
function tF(){ 
 
    // code within this func inside logout ajax 
 
    fS.display = 'block'; 
 
} 
 
form.addEventListener('submit', function(ev){ 
 
    ev.preventDefault(); 
 
}); 
 
sub.addEventListener('click', function(){ 
 
    // run code within this func inside login ajax 
 
    fS.display = 'none'; E('un').value = E('pw').value = ''; 
 
    tO = setTimeout(tF, 10000); 
 
    addEventListener('mousemove', function(){ 
 
    if(tO)clearTimeout(tO); 
 
    tO = setTimeout(tF, 10000); 
 
    }); 
 
}); 
 
form.addEventListener('keydown', function(ev){ 
 
    if(ev.keyCode === 13)sub.click(); 
 
}); 
 

 
});
/* external.css */ 
 
html,body{ 
 
    background:#000; padding:0; margin:0; 
 
} 
 
.main{ 
 
    width:980px; background:#fff; margin:0 auto; 
 
} 
 
#form{ 
 
    width:250px; background:green; padding:10px; 
 
} 
 
#form>label,#form>input{ 
 
    display:block; 
 
} 
 
#form>label{ 
 
    float:left; width:100px; color:#fff; 
 
} 
 
#form>input{ 
 
    width:140px; margin-bottom:10px; 
 
} 
 
#form>#sub{ 
 
    width:70px; height:30px; margin:0 auto; 
 
}
<!DOCTYPE html> 
 
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> 
 
    <head> 
 
    <meta http-equiv='content-type' content='text/html;charset=utf-8' /> 
 
    <title>Lockout</title> 
 
    <link type='text/css' rel='stylesheet' href='external.css' /> 
 
    <script type='text/javascript' src='external.js'></script> 
 
    </head> 
 
<body> 
 
    <div class='main'> 
 
    <form id='form'> 
 
     <label for='un'>USERNAME</label><input id='un' name='un' type='text' value='' /> 
 
     <label for='pw'>PASSWORD</label><input id='pw' name='pw' type='password' value='' /> 
 
     <input id='sub' type='button' value='LOGIN' /> 
 
    </form> 
 
    </div> 
 
</body> 
 
</html>

上記のコードは、10秒のタイマーを使ってこれを実現する方法を示しています。

関連する問題