10
votes

Dans les rails 4 désactivent les paramètres puissants par défaut

existe-t-il de toute façon pour désactiver en utilisant des params solides?

Et je sais que c'est une vulnérabilité de sécurité mais je n'en ai vraiment pas besoin / le veut.


0 commentaires

6 Réponses :


2
votes

Je ne pense pas.

DHH Commentaires ici sur cette requête d'extraction pour ajouter un interrupteur désactivé sur les paramètres forts < / p>

Tout cela est une préoccupation héritée de toute façon, alors que les rails 4.0 forceront des paramètres puissants sur tout le monde et que vous ne pourrez pas l'éteindre.


0 commentaires

4
votes

Si par "Désactiver", vous voulez dire tomber sur Rails à 3 style attr_accesible lignes, puis oui.

Il suffit d'utiliser protégé_attributes Gem.


0 commentaires

47
votes

éteindre la protection de l'attribut est presque toujours une mauvaise idée.

Avec cette note obligatoire à l'écart, voici comment éteindre: P>

config.action_controller.permit_all_parameters = true


4 commentaires

Je viens d'essayer cela et ça n'a pas fonctionné pour moi (sur une application 4.0.0 Rails).


Travaillé pour moi. D'accord - c'est généralement une mauvaise idée - mais mon cas d'utilisation est un site d'administration où les administrateurs peuvent changer quoi que ce soit.


Cela a fonctionné pour moi. Assurez-vous de mettre la ligne dans votre classe d'applications et de redémarrer le serveur HTTP.


Ce conseil est inestimable lors de la migration d'une application plus ancienne (Rails 3.2) et d'essayer d'obtenir les spécifications existantes en tant que première passe à la migration, avant de passer à travers le travail de nouveau modèle et du contrôleur pour utiliser la nouvelle protection de masse. approche adoptée dans les rails 4.



-2
votes

Bien sûr que vous pouvez! Selon les documents officiels de Paramètres forts ( https://github.com/rail/strong_paramètres ), vous pouvez désactiver En ajoutant des codes ci-dessous à votre configuration / application.rb: xxx

Cela fonctionne pour moi dans les rails 3.2


1 commentaires

Ceci est pour désactiver Protected_Attributes



6
votes

J'ai couru dans ce problème où j'essayais de stocker tous les paramètres d'une webhook de Stripe.

Si vous souhaitez autoriser tous les paramètres pour une seule instance, votre peut appeler #TO_HASH sur votre objet Params avant de le transmettre dans votre méthode d'initialisation.

ex: xxx


0 commentaires

1
votes

Pour arrêter les attributs interdits vérifiés pour vos applications, vous pouvez corriger le chèque ..

Par exemple, mettez le code suivant dans

config / initialiseurs / désactiver_strong_parameters.rb < Pré> xxx


0 commentaires