No estágio em que nos encontramos a segurança é algo ainda mais relevante que antes.
Me parece que criar algo na mão não é adequado, não porque não sejamos capazes, mas por conta da necessidade de ficar atualizando e isso algumas vezes pode gerar problemas. Então me parece mais adequado usar para isso softwares específicos, que tenham uma boa equipe por traz. No meu caso eu prefiro usar um software tipo framework ou CMS, que já nos oferecem a autenticação pronta e customizável. Sei que isso varia com o desenvolvedor, com a empresa e com o projeto.
2