2016-09-01 3 views
0

Я использовал brakeman для генерации отчетов сканирования в своем приложении. Он генерируется предупреждение системы безопасности Cross Site Scripting на моей странице Вид:Небезопасное значение параметра в link_to href Rails 4.2

Опасное значение параметра в link_to HREF вблизи линии 3: link_to ("", Instagram.authorize_url (: redirect_uri => ((Rails.application .config.custom.domain_url + "instagram/callback /? edit =") + (params [: id] .present?? (params [: id]): ("")))),: id => "Insta-знак-в-кнопки")

Это мое мнение:

<% if @instagram_oauth.nil? %> 
    <h2>Connect to your Instagram account</h2> 
    <%= link_to '', Instagram.authorize_url(:redirect_uri => Rails.application.config.custom.domain_url + 'instagram/callback/?edit=' + (params[:id].present? ? params[:id] : '')), :id => "insta-sign-in-button" %> 
<% end %> 

Как исправить это предупреждение?

ответ

1

Предупреждение о том, что вы передаете параметр params[:id] на link_to напрямую, это может быть опасно.

Лучше передать ему некоторый предмет. Если вы не можете этого сделать, вы можете передать локальную переменную в свой link_to, чтобы избавиться от этого предупреждения. Но это не правильное решение.

url_id = params[:id].present? ? params[:id] : '' 

И передайте это в своем link_to url.

+0

Простое размещение значения в локальной переменной не приведет к удалению предупреждения. – Justin