Sécurisation d'une application flash/php/mysql
Posté : 20 mai 2009, 20:45
Bonjour à tous,
Je viens demander votre avis au sujet de la sécurité d'une application flash/php/mysql. N'étant pas un expert en sécurité vos suggestions seront bienvenu.
En général, j'utilise mysqli_real_escape_string pour les injections sql. Tout ce qui est ID, j'utilise
C'est a peu près ce qui est mis en place jusqu' à maintenant. J'aimerai en premier lieu que vous me donniez vos avis la dessus. En second lieu, la premiere fois qu'un utilisateur s'enregistre il m'envoie pas de session, logique, juste le formulaire que je vérifie avec les vérifications d'usage, email valide etc.., ensuite je l'enregistre dans ma base mais vue que je récupère juste le formulaire il pourrait venir de n'importe ou, comment puis-je m'assurer que c'est bien mon flash qui m'envoie le formulaire?
J'ai aussi un post interressent sur les attaques par force brute, je vais surement faire du blacklistage pour ca.
Merci de vos suggestions
[EDIT] JE tiens à préciser que même si une personne réussi à enregistrer un utilisateur, dans le script d'enregistrement, je met de façon brute les permissions donc l'utilisateur aura juste les permissions d'un utilisateur mais ca reste quand même embêtant.
Je viens demander votre avis au sujet de la sécurité d'une application flash/php/mysql. N'étant pas un expert en sécurité vos suggestions seront bienvenu.
En général, j'utilise mysqli_real_escape_string pour les injections sql. Tout ce qui est ID, j'utilise
$id = intval($id) Pour m'assurer d'avoir un entier. Pour la communication flash et php, a chaque fois que j'ai une requete de flash, je reçois un xml avec un id session. Ensuite je verifie dans une table session la combinaison browser, ip et session id, si l'utilisateur exist je clean ma table je regenere une nouvelle session id je traite la demande et renvoie la reponse avec le nouvelle id regeneré. Pour mes mots de passe je procède ainsi:
$tab['salt'] = hash('sha1', uniqid(rand(), true));
$tab['password'] = sha1($tab['password'].$tab['salt']);
ensuite le salt et le password sont conservés pour vérification future.C'est a peu près ce qui est mis en place jusqu' à maintenant. J'aimerai en premier lieu que vous me donniez vos avis la dessus. En second lieu, la premiere fois qu'un utilisateur s'enregistre il m'envoie pas de session, logique, juste le formulaire que je vérifie avec les vérifications d'usage, email valide etc.., ensuite je l'enregistre dans ma base mais vue que je récupère juste le formulaire il pourrait venir de n'importe ou, comment puis-je m'assurer que c'est bien mon flash qui m'envoie le formulaire?
J'ai aussi un post interressent sur les attaques par force brute, je vais surement faire du blacklistage pour ca.
Merci de vos suggestions
[EDIT] JE tiens à préciser que même si une personne réussi à enregistrer un utilisateur, dans le script d'enregistrement, je met de façon brute les permissions donc l'utilisateur aura juste les permissions d'un utilisateur mais ca reste quand même embêtant.