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]
-~----------~----~----~----~------~----~------~--~---