0

私の Web サイトでは、誰かが管理者アカウントでログインしたときにいくつかのオプションを有効にしたいと考えています。私の質問は、その管理者アカウントを可能な限り保護する方法についてです。私のウェブサイトでログインを設定する方法は、ログインを認証した後です。これを行っ$_SESSION['status'] = 'authorized';てから、次のように言います。

<script>
$(document).ready(function(e) {
    if(<?php echo ($_SESSION['status'] == 'authorized'); ?>) {
        $('#account_window').show();
    }
});
</script>

<div id="account_window">
    //account stuff
</div>

マスター アカウントの追加に伴い、これを追加することを考えてい$_SESSION['master'] = 'authorized';たので、フロント ページに次のコードを追加します。

<script>
$(document).ready(function(e) {
    if(<?php echo ($_SESSION['status'] == 'authorized'); ?>) {
        $('#account_window').show();
    }
});
</script>

<div id="account_window">
    //account stuff
    <?php if($_SESSION['master'] == 'authorized') { ?>
        <div id="master_account">
            //admin stuff like send users emails
        </div>
    <?php } ?>
</div>

しかし、それは簡単すぎるように感じます。それはマスター アカウントを認証する安全な方法ですか? そうでない場合、それを行うための最良の方法は何ですか?

4

2 に答える 2

5

管理者インターフェースを非管理者から単に「隠す」のは魅力的かもしれませんが、誰かが適切な HTML をページに挿入するか (GreaseMonkey スクリプトを使用)、または手動でリクエストを生成するだけであれば、基本的に回避できます。

実際のセキュリティを確保するには、PHP のすべてのアクションを検証する必要があります。したがって、ユーザーがフォームを送信したり、アクションをコミットしたりするときに、PHP でユーザーが承認されていることを確認する必要があります。

于 2012-10-26T22:45:11.380 に答える
0

実際のセキュリティを確保するには、PHP のすべてのアクションを検証する必要があります。したがって、ユーザーがフォームを送信したり、アクションをコミットしたりするときに、PHP でユーザーが承認されていることを確認する必要があります。

于 2013-09-03T23:08:53.970 に答える