Oui, je parlais bien du code ruby. Ne jamais laisser un tiers exécuter du code ruby arbitraire, donc faire plein de ifs c'est mieux (= nécessaire).
Michel Belleville 2009/8/17 Cyril Mougel <[email protected]> > > Tranquiliste a écrit : > > Merci pour l'info. > > > > Concernant le risque d'insertion du code malicieux je le gère au > > niveau des named_scope avec le classique :conditions => ["champ1 = ?", > > champs1] > > > > > Le code malicieux ne serait pas coté SQL, mais coté ruby exemple : > > conditions => {:destroy_all} > > revient à > > Model.destroy_all > > ca te semble sympa ? > > On 17 août, 16:13, Michel Belleville <[email protected]> > > wrote: > > > >> Disons, il va falloir faire très attention aux exploits parce que ça > veut > >> dire donner une marge de liberté assez importante que tes utilisateurs > >> peuvent utiliser pour insérer potentiellement du code malicieux ou > détourner > >> ton outil de son objectif. Mais si tu veux faire ça, ça marche comme ça > : > >> @model = eval("Model.#{condition}") > >> > >> Michel Belleville > >> > >> 2009/8/17 Tranquiliste <[email protected]> > >> > >> > >> > >> > >>> Bonjour, > >>> > >>> Une question de faisabilité: > >>> - j'ai un modèle sur lequel j'ai défini plein de named_scoped pour > >>> pour voir faire des recherches. > >>> - j'ai une form sur laquelle l'utiliseur peut saisir ses citères de > >>> recherche (checkbox, sélection, texte, ...) > >>> sachant qu'à chacun des critère correspond un named_scope > >>> > >>> Quelle est la meilleure façon de construire ma recherche? > >>> Est ce que je peux renseigner une string et une fois que j'ai parcouru > >>> tous mes critères utiliser les named_scope? du style : > >>> condition = "" > >>> if criteria1 > >>> condition = condition + ".named_scope1" > >>> end > >>> if criteria2 > >>> condition = condition + ".named_scope2" > >>> end > >>> > >>> et ainsi de suite et faire à la fin > >>> @model = Model.condition (si oui quelle est la syntaxe?) > >>> > >>> Merci > >>> Nicolas > >>> > > > > > > > > -- > Cyril Mougel > http://blog.shingara.fr/ > > > > > --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
