2010-05-31 6 views
1

Nous devons déployer le fichier WAR de l'application (développé par Java) à la place du client qui utilise MySql 5.0. Mais nous aimerions limiter le client (le propriétaire de l'application, pas le visiteur de la page Web) de modifier les données de la base de données. Y a-t-il un moyen de protéger les données? Le client peut utiliser l'application, mais il ne devrait pas être en mesure de modifier une valeur dans la base de données. Comment faire ça?Comment empêcher l'utilisateur de modifier des données dans la base de données mysql?

+0

@BalusC: Merci de l'avoir édité et de le rendre compréhensible :) – Paul

Répondre

3

Ceci est impossible; Si vous déployez l'application chez le client, il aura les informations d'identification et pourra se connecter à la base de données MySQL et prétendre qu'il est l'application. Et ainsi, il peut apporter des modifications à la base de données que votre application peut.La seule façon de résoudre cela de manière sécurisée est de créer un niveau entre le client et votre base de données MySQL, et de vous assurer que vous contrôlez cela afin de pouvoir effectuer des changements «légaux» seulement.

+0

Et si les informations d'identification sont pour un utilisateur sans modifier les droits? Ou seulement certaines procédures stockées sont utilisées? – Konerak

+0

Qu'est-ce qui doit être fait entre le client et la base de données MySQL? Mentionnez clairement si c'est possible ou non! – Paul

+1

Si les informations d'identification sont pour un utilisateur sans modifier les droits, l'application (et les procédures stockées) ne peuvent pas non plus effectuer de modifications. C'est contraire à la question. – wump

5
+0

@hgulyan: J'utilise MySql 5.0. mais vos liens pointant vers sql-server. toute suggestion pour cela. – Paul

+1

@Paul: Désolé, j'ai modifié ma réponse avec de nouveaux liens. – hgulyan

+0

J'ai mis à jour ma réponse avec de nouveaux liens et exemples. – hgulyan

2

il suffit d'écrire le code en conséquence afin que l'utilisateur n'a aucune chance de modifier la base de données? C'est à dire. le code n'exécute aucune INSERT ou UPDATE et/ou contrôle l'accès basé sur un login/rôle.

Honnêtement, je n'ai vraiment aucun problème ici, ou le code doit être sujet à SQL injectionattacks.

Mise à jour: La réponse ci-dessus est réellement non pertinente puisque la question est clarifiée. Tournant vers le Wiki communautaire.

Questions connexes