2016-03-27 3 views
0

私はこの質問のタイトルをどのように編集するかについてはわかりませんでした。node.jsのログインプロンプトをループしていますか?

これは私が現在ログインシステムに使用しているものです。私は、正しいパスワードを入力するまではパスワードの入力を要求し、その後、残りのコードへ行くしようとしています

if (accountq === "Add", " Add", " Add "){ 
    var usrin = prompt("Username: ") 
} 

if (usrin === usrname){ 
    var passin = prompt("Ah, hello. Password?: ") 
} 

do { 
    if (passin !== pswdb){ 
     var passin = prompt("Sorry, that pass does not match.") 
    } 
} 
while(passin === pswdb){ 
    console.log("Username and password have been authenticated") 
    var addname = prompt("Name: ") 
    console.log(
     "Okay, noted that. Please give us the direct download link" 
    ) 

    var directlink = prompt("Direct Link: ") 
    console.log("Thank you! Will add that.") 
} 

while(passin !== pswdb){ 
    wrongpass() 
} //this was my attempt to trigger the prompt again, but it failed. 

は、私はしばらく試してみたが、運と、誰かが私を指すことができます正しい方向。

答えて

0

これはいかがですか?それは、シンプルな小型だし、あなたの未遂ソリューションに似ているようだ:

var prompt = require('prompt-sync')() 

var expectedPass = 'myPassword' 

while (true) { 
    var username = prompt('Username:') 
    var password = prompt('Password:') 
    if (password == expectedPass) break 
    else console.log('Sorry, that pass does not match.') 
} 

console.log('Match!') 

/* ... rest of code ... */ 

次のセキュリティとパフォーマンスのビットを注意してください。

  1. prompt-syncは、他のasyncronous活動を意味プロンプトをブロックですユーザーが応答するまでブロックされます。このプロセスで他のことをしない限り、これはプロンプトではありません。

  2. セキュリティ上、このセキュリティプロンプトを回避するには、ファイルを開いてパスワードを読むだけで済みます。

これらのいずれかに問題がある場合は、別の解決策を探している可能性があります。その場合は教えてください!

+0

データベースを使用していますが、これは完全に機能します。ありがとうございました。 – FlerrElectronics

関連する問題