2

ログに記録できないアカウントを作成するためのベスト プラクティスとは何か疑問に思っています。StackOverflow には、ログインできないと思われる Community Wiki アカウントがあります。

ログに記録できないアカウントのスクリプトを作成するにはどうすればよいですか? アクセスしたくないアカウントがある場合、ID が 0 未満のアカウントにはログインできないなどのパラメーターを設定する必要がありますか? または、構成 ID でログインできない ID を手動で定義する必要がありますか? またはより良い方法はありますか?

4

4 に答える 4

5

私にとっては、ログ機能を設定または取り消すために、アカウントデータでフラグを使用する必要があります。

この機能は、SQLレベルのクエリで非常に簡単に適用できます。

次のようなクエリ:

select wathever from user where loggging=1 and user="aUser" and passwd="password"

トリックを行うことができます。

あなたのコメントに答える:たぶん、列を使用することはあなたにとって効率的ではないように見えますが、あなたはプロを考慮する必要があります:

  • データベース、構成ファイル、またはWatheverの間に散在するのではなく、単一のレイヤーにユーザーに関する情報があります。

  • 構成ファイルを変更せずに、任意のアカウントにログ機能を取り消したり付与したりできます

于 2009-07-22T17:29:57.500 に答える
2

ユーザーテーブルに「フラグ」を設定できます。

loggable      int(1)       default 1

次に、スクリプトを確認できます。

//... data retrieve login ...
if($userRow['loggable'] == 1) {
    //User can login, do stuff
} else {
    //Tell him that he can't login
}
于 2009-07-22T17:30:06.250 に答える
0

アカウントに「loggable」フィールドを追加します。ログに記録できないアカウントがたくさんある場合に備えて、スケーラブルです。

于 2009-07-22T17:31:24.097 に答える
0

空のパスワードをログに記録できないようにすることができます。

Eineki の SQL を拡張するには:

select whatever from user where loggging=1 and user="aUser" and
    passwd="password" AND passwd IS NOT NULL
于 2009-07-22T21:40:03.343 に答える