2012-05-10 18 views
-2

パスワードを正しく入力すると、情報をクッキーとして保存してから削除することができます。JavaScriptのPHPセッション変数

<SCRIPT language="JavaScript"> 
    <!--hide 

    var password; 

    var pass1="password"; 

    password=prompt('Please enter your password to view this page!',' '); 

    if (password==pass1){ 
     alert('Password Correct! Click OK to enter!');} 
    else 
     { 
     window.location="//Some Location//"; 
     } 

    //--> 
    </SCRIPT> 
+4

クッキーを作成するにはPHPは必要ありません。JavaScriptから行うことができます。しかし、認証にはPHPが必要です。そのようなJavaScriptを使用すると、あなたのサイトは5歳の子供が数秒でハッキングします。 – bfavaretto

+0

@bfavaretto 4歳。私はスマートな子供を知っています。 – iambriansreed

+0

合意。これまで最悪のセキュリティ。 –

答えて

8

var varname = '<?php echo $_SESSION["variable_name"]; ?>'; 

(タイトルを1として)十分なシンプルな場合はしかし、あなたは真剣にあなたのロジックを考慮する必要があります。あなたは、ウェブアプリケーションでダムでになるjavascriptの認証を確認しています。

パスワードは完全に公開されているため、誰でもパスワードを表示したり、JavaScriptをオフにすることができます。その後、サイト全体が脆弱になります。


私の提案は、個別にチェックし、パスワードを確認するPHPページにAJAX要求され、その後JavaScriptにメッセージを返します。

+0

どうか私はそれを置くでしょうか?$ _SESSION ["variable_name" ] == pass1 – user1345650

+0

@ user1345650のようにすることはできません。PHPはクライアントマシンのサーバとJavaScriptで実行されます。 – Starx

1

これは完全に間違っている:

  • あなたはページのソースコードにして誰が見てのために、ブラウザの履歴に表示されたパスワードを持つことになります。したがって、たとえパスワードを持っていなくても、ソースコードを確認して取得することができます。
  • 現在のページを保護する必要があります。サーバーサイド JavaScriptを無効にすると誰でもすぐに開くことができます。これを行う簡単な方法は、ログインサーバー側を処理し、正常にログインしたユーザーのために特定のセッション変数を設定することです。そのセッション変数が設定されている場合は、ページの上部でチェックすることができます。
+0

'//一部の場所//は最終アクセス先ではなく 'アクセス拒否' mは現在のページで、JavaScriptを無効にするだけでアクセスできます)。 – bfavaretto

+0

@bfavarettoあなたが正しいです、私はそれを正しく読まなかった。私は私の答えに適応します.... – jeroen