0

私はphpが初めてで、可能であればいくつかの情報をお願いします。私は現在、大学の演習用のウェブサイトを構築しようとしています。

私の主な質問は、ログインスクリプトを作成するための最良またはより専門的な方法はどれですか (注: 1 人のユーザーのみ、管理者がアクセスできます)???

  • まず、フォームから投稿されたデータがデータベースの「admin」テーブルにあるデータと一致するかどうかを確認します。したがって、データベースにテーブルを作成し、1人のユーザーのみの管理者を追加してから、SQLクエリで一致を確認する必要があります
  • または次のようなスクリプトを作成して 2 つ目:

    if(($_post['username'] == 'admin') && ($_post['password'] == 'password')){
        echo "Welcome admin";
    }else{
        echo "No access";
    }
    
4

5 に答える 5

2

usersテーブルを作ってみませんか?そのテーブルでは、1 つのフィールドに「admin」という名前を付けることができます。「0」は管理者ではないことを示し、「1」は管理者を示します。

パスワードについては、常にある種のハッシュを使用する必要があります: http://php.net/manual/en/function.hash.php

次に、ログイン資格情報を確認するときに、次のことができます

if( !empty($_POST['password'] && hash('sha256', $_POST['password']) = {database password}  ){
  // password's okay
}
  • プレーンテキスト/ソルトなしのパスワードをデータベースに保存しないでください。

注: データベースの「パスワード」は、実際のパスワードではなく、ハッシュ化/ソルト化された値になります。

于 2012-07-05T14:38:21.430 に答える
2

.htaccessとでページを保護することもできます.htpasswd

于 2012-07-05T14:35:43.043 に答える
0

パスワードと管理者ユーザー名をコードに保存しないでください。データベースは、そのようなデータのより安全で信頼性の高いストレージです。

ユーザーテーブルがある場合、そこにユーザー権限のレベルを示すフィールドがある場合や、権限を持つ別のテーブルがある場合もあります。その場合、管理者権限を持っていて、それをユーザーに割り当てることができます (必要に応じて 1 人以上)。

于 2012-07-05T14:32:37.317 に答える
0

もちろん最初に。ソースコードを変更するのではなく、データベースにエントリを追加することで、いつでも何人かのユーザーを追加できます。1 人のユーザーのみがアクセス権を持っていることを暗示している場合がありますが、後で別のユーザーがアクセス権を持っている必要があることに注意してください。スケーラブルに行う方がよいでしょう。

于 2012-07-05T14:34:44.583 に答える
0

データベースにデータがある場合は常により適切であり、この場合はユーザー データを暗号化する必要があります。

于 2012-07-05T14:31:25.343 に答える