2016-04-27 13 views
2

私はPHPには新しく、ログインシステムを作ろうとしていますが、何とか動作しません。私は変数でパスワードをあらかじめ定義しておき、入力したパスワードが変数のパスワードと一致するかどうかを調べる関数を作成しました。パスワードを変数にあらかじめ設定したログインシステム

これは、これまでの私のコードです:

<?php $validkey = "Test" ?> 
<script type="text/javascript"> 
    function check_value() 
    { 
     var password = document.getElementById("password").value; 
     if (password == '<?php echo $validkey; ?>') 
     { 
      location.href = "tafels.html"; 
     } 
    } 
</script> 
<input type ="text" name="password" id="password" /> 
<button onclick="check_value();">Login</button> 
+2

JUST DONTはJAVASCRIPTでそれを行う: – Bobot

+0

oをあなたはそれを行うにはどのように私のために、その後の任意のアイデアを持っていますか? –

+1

AJAXまたは通常のフォーム提出を使用してサーバー上のデータを検証してください –

答えて

3

これは、ログインプロセスが動作するはずの方法ではありません。 まず、パスワードをハッシュしてデータベースに保存する必要があります。 NEVERはパスワードをクリアテキストで保存します。 第2に、パスワードの検証はサーバー側でPHPファイルで行われるべきです。サーバーは、PHPスクリプトを処理している間、それが結果に有効なパスワードをエコーし​​ます

if(password=='<?php echo $validkey; ?>') 
{ 

    location.href = "tafels.html"; 

} 

:それはちょうどあなたのコードのこの部分を確認し、フロントエンドでパスワードを検証するのは危険だ理由

ことはあなたを説明するために、 HTML。そのHTMLはブラウザに送られます。あなたはページのソースコードを検査した場合の、有効なパスワードは「Pの@ $$ w0rdには」であることを言ってみましょう、あなたはこれを見つけるつもりだ:

サーバは、この置き換えられています

if(password=='[email protected]$$w0rd') 
{ 

    location.href = "tafels.html"; 

} 

<?php echo $validkey; ?> 

にパスワードの値を入力します。そしてそれは誰にでも見えるでしょう。安全ではありません。ここでは、あなたのスタートを与えることを

+0

安全である必要はありません。それは彼らが持っている小さな注文デバイス上の使用人によって使用されるレストランのためのwebapplicationです。 –

+0

まだ良いことではありません。これは非常に重大なセキュリティ上の欠陥ですが、検証をサーバー側に移すことで簡単に解決できるものです – dimlucas

1

は一例ですが、ログインシステムの非常にシンプルかつステートレス(メモリーなし/なしのセッション)例

ログインこの回答のhttps://stackoverflow.com/a/36883388/3799829

を気をつけてください。 PHP

<?php 

$password = 'Test'; 
$url = 'tafels.html'; 

if(isset($_POST['password']) && $_POST['password'] === $password) 
{ 
    header('Location: ' . $url); 
    exit; 
} 

?> 
<html> 
    <head> 
     <title>You need a password to continue</title> 
    </head> 
    <body> 
     <form action="" method="POST"> 
      <input type="password" name="password" placeholder="Password"><button type="submit">Go on !</button> 
     </form> 
    </body> 
</html> 
関連する問題