Nous examinons comment limiter les risques d'injection SQL en autorisant uniquement les fonctions clés à effectuer des tâches dans notre application rails. Je suis l'agent de sécurité, pas une personne à temps plein. De la façon dont je le vois, écrire uniquement dans la base de données devrait se produire lorsqu'un compte est créé (enregistrement) ou le compte est modifié (mise à jour du profil utilisateur). À des fins de simplification, supposons qu'aucune autre mise à jour ne soit effectuée dans l'application par les utilisateurs.Utilisateurs de bases de données multiples par fonction
Si quelqu'un ne bloque pas une attaque par injection SQL sur une requête en lecture seule, nous serions mieux protégés avec deux appels distincts.
Les rails peuvent-ils supporter la configuration suivante? -
- Une connexion de base de données pour tous « lire » demande
- Une connexion de base de données (même base de données exacte) pour toutes les demandes « écriture »
Si oui, comment ce regard dans le fichier de base de données et les demandes de code?
Vous devriez être en mesure d'utiliser une variante de la réponse donnée à la question suivante. C'est juste au lieu de déclarer une base de données séparée pour le modèle que vous allez connecter à la même DB avec des paramètres différents. http://stackoverflow.com/questions/6122508/connecting-rails-3-1-with-multiple-databases – rovermicrover
@rovermicrover Bien qu'intéressante, cette question ne semble pas concerner l'accès à la même base de données avec des autorisations différentes dans le fichier db.yml (user1 = "insérer, mettre à jour" user2 = "sélectionner") – hackajar
Ok, deux modèles, en utilisant la même table. Chacun avec son propre utilisateur DB, qui a des autorisations différentes. On peut même hériter de l'autre, la seule différence étant le paramètre DB/Utilisateur déclaré par la méthode dans le lien fourni. – rovermicrover