2012-01-12 21 views
0

私は、Submitボタンをクリックすると、パスワード入力が12345ではない、そしてエラーメッセージが表示されますが、12345が入力された場合は、www.URL.comこれをJavaScriptで書く方法は?

+0

どのようなセキュリティがありますか?それがJavaScriptにあれば誰もそれを打ち破ることができます。 – j08691

+1

これまでに何を試しましたか?あなたはこの諺の猫を肌にすることができる約42,000種類の方法があります。 –

+0

Javascriptで保護されたパスワードは、パスワードなしでは安全ではありません。 – lonesomeday

答えて

0
function checkIfValid(){ 
    var yourField = document.getElementById('password').value; 
    if (yourField == "12345") { 
      window.location.href = "http://www.google.com"; 
      return true; 
     }else{ 
      alert("NOT GOOD"); 
      return false; 
     } 
    } 

<form name="FORMNAME" action="script.php" onSubmit="return checkIfValid()"> 
    <input name="password" id='password' type="password"/> 
    <input type="submit" value='submit'> 
</form> 
0

ボタンのクリックを検出するには、あなたがonclickを使用することができます。

document.getElementById("button").onclick = function() { 
    //code here 
}; 

そして、入力の値を取得するには、あなたが.valueを使用することができます。

var value = document.getElementById("password").value; 

それを比較するために、ifを使用そしてその 等価演算子:パスワードが間違っている場合は、alertと、「エラーメッセージ」を示すことができ

if (value == "12345") 

alert("wrong password"); 

とパスワードが良好であれば、ユーザーをリダイレクトするためにlocation.hrefを使用します。

location.href = "www.url.com"; 

クライアント側(つまり、ブラウザのJavaScript)のみに依存する認証コンポーネントは、まったく安全ではありません。ここで

0

は、コードされています、違いの多くはもちろん

HTML

<input type="password" id="pass" /> 
<input type="button" id="foo" value='Click me' /> 

JS

function addHandler(type, el, myFunction) { 
    if (el.addEventListener) { 
     el.addEventListener(type,myFunction,false); 
    } else (el.attachEvent) { 
     type = 'on' + type; 
     el.attachEvent(type,myFunction); 
    } 
} 
var button = document.getElementById('foo'); 

addHandler('click', button, function() { 
    var pass = document.getElementById('pass').value; 
    if (pass === '12345') { 
     window.location = 'http://url.com/';  
    } else { 
     alert('not so bad'); 
    } 
}); 

あなたが提出するボタンを変更することができますがありません。

とフィドル:http://jsfiddle.net/3PT5a/

よろしく!フォーム上

+0

あなたの 'attachEvent()'コードは正しくありません(イベント名に "on"を付け加える必要があります)、 'addHandler()'の 'else'ブランチでもありません(渡された実際のイベントを使う必要があります。 "onmouseover"にハードコードされています)。結果、このコードはIE9以前のIEのバージョンでは修正されずに動作しません。 – jfriend00

+0

ああありがとう!私はそれを修正しました。 –

+0

まだ修正されていません。まず、各イベントリスナーを2回追加します。次に、 'attachEvent()'のために、型に "on"を追加して "onclick"にする必要があります。 – jfriend00

0

あなたがやっていることの100%を認識している場合は - と私はあなたではないかなり確信している - この使用:

<form action="" method="post" 
    onsubmit="if(passwd.value=='myPass')location='http://example.com/';return false"> 
<input type="password" name="passwd" /> 
<button type="submit">Submit</button> 
</form> 

のほかに:汚れていることを知っています(IDを追加してdocument.getElementById('passwd')または少なくともthis.passwdを使用するのではなくpasswd)が、1ライナーです)

関連する問題