2015-12-22 1 views
16

Nous améliorons de Rails 4.2.5 à 5.0.0.beta1Rails 5.0.0.beta1 - Génération d'une URL à partir des paramètres de demande non assainies est peu sûr

Lors du test nous nous attendions à voir des vues d'index avec des liens rendus paginés comme avant. Mais nous obtenons maintenant une page d'erreur ArgumentError, par exemple:

ArgumentError in Transactions#index 
/app/views/kaminari/_paginator.html.erb where line #10 raised: 


<%= paginator.render do -%> 

Generating an URL from non sanitized request parameters is insecure! 

Application Trace | Framework Trace | Full Trace 

app/views/kaminari/_paginator.html.erb:10:in block in _app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060' app/views/kaminari/_paginator.html.erb:9:in_app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060' 
app/views/transactions/index.html.erb:2:in `_app_views_transactions_index_html_erb__422882858554400818_60602560' 

Une question a été soulevée avec kaminari

sur une enquête plus approfondie ici est le nouveau Rails de code 5.0.0.beta1 qui lance maintenant l'erreur: actionpack/lib/action_dispatch/routing/url_for.rb

l'ajout de ce à config/application.rb 'fixe', mais pas une bonne idée:

config.action_controller.permit_all_parameters = true 

Au lieu d'ajouter cela ne résout pas le problème, ne sais pas pourquoi:

config.action_controller.always_permitted_parameters = [:current_page, :page, :total_pages, :per_page, :remote, :paginator] 

Répondre

22

Cela semble être fixé dans la branche principale github, donc pour l'instant dans votre fichier de pierres précieuses préciser:

gem 'kaminari', :git => "git://github.com/amatsuda/kaminari.git", :branch => 'master' 
+4

Cela a fonctionné, merci. Une version plus courte que 'gem" kaminari ", github:" amatsuda/kaminari "'. – Oleander

+0

Kaminari 0.17.0 était sorti avec ce correctif: https://github.com/amatsuda/kaminari/blob/master/CHANGELOG.rdoc#0170 –