cuando empecé en la Web hace hartos años ya leí algo que nunca se me olvidó: ocupa GET para todo aquel URL que el usuario pueda volver a visitar sin tener que hacer ningún click adicional y ocupa POST para guardar los mismos actos que el usuario debe hacer en tu página.
En cuanto a seguridad... como no dices nada más lo más importante es:
Inyección SQL, prueba qué pasa si el usuario deliberadamente modifica el campo de ingreso de user (o cualquier otro formulario) para que en vez de:
Código:
SELECT * FROM users WHERE username = 'pedrito';
la consulta quede:
Código:
SELECT * FROM users WHERE username = ''; DELETE * FROM users; -- pedrito';
Esto en cualquier formulario donde el usuario tenga interacción, eso cuenta también los hidden.
EL segundo tema con el que se tiene bien poco cuidado es con XSS e inyección HTML. Es decir si el usuario elije como nombre de usuario:
Nada costará incluir un script desde otro lado, limpia eso tb.
Saludos.