Je ne dois pas tout comprendre mais je pensais faire ce qui suit et je
ne vois pas de danger
      if params[:pool] == '1'
        condition << "pool"
      end
      if params[:tennis] == '1'
        condition << "tennis"
      end
      @locations = eval("Location.#{condition.join('.')}")


On 17 août, 17:43, Michel Belleville <[email protected]>
wrote:
> 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]
-~----------~----~----~----~------~----~------~--~---

Répondre à