Pergunta

Eu estou querendo saber quais as melhores práticas para a criação de não-passível de registo de contas.No StackOverflow, há uma Comunidade Wiki conta que eu estou supondo que não pode ser conectado.

Como eu devo fazer sobre a criação de scripts para não-passível de registo de contas?Se há uma conta que eu não quero ser acessível, devo definir parâmetros como você não pode fazer logon em contas com IDs de menos de 0?Ou devo apenas definir manualmente as Identificações que não pode ser conectado na configuração de ID?ou há um caminho melhor?

Foi útil?

Solução

Para mim, você deve usar um sinalizador nos dados da conta, para definir ou revogar o recurso de log.

Esse recurso pode ser aplicado com uma consulta no nível SQL com bastante facilidade.

Uma consulta como:

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

pode fazer o truque.

Respondendo ao seu comentário: talvez usar um colum pareça não eficaz para você, mas você deve considerar o profissional:

  • Você tem as informações sobre seus usuários em uma única camada, não espalhados em torno do banco de dados, arquivos de configuração ou wathever

  • Você pode revogar ou conceder a capacidade de registro para qualquer conta sem precisar modificar os arquivos de configuração

Outras dicas

Você pode definir um "sinalizador" na tabela de usuários:

loggable      int(1)       default 1

Então você pode verificar seu script:

//... data retrieve login ...
if($userRow['loggable'] == 1) {
    //User can login, do stuff
} else {
    //Tell him that he can't login
}

Adicionar um "passível de registo" campo de contas.É escalável no caso de você acabar tendo muitos não-passível de registo de contas.

Você pode fazer com que uma senha vazia seja não loggável.

Para estender o SQL de Eineki:

select whatever from user where loggging=1 and user="aUser" and
    passwd="password" AND passwd IS NOT NULL
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top