2016-09-01 3 views
0

Ich benutzte Brememan zur Erstellung von Scan-Berichten in meiner Anwendung. Es erzeugt eine Cross-Site-Scripting-Sicherheitswarnung aus meiner Sicht Seite als:Unsicherer Parameterwert in link_to href Rails 4.2

Unsafe Parameterwert in link_to href in der Nähe von Linie 3: link_to ("", Instagram.authorize_url (: redirect_uri => ((Rails.application .config.custom.domain_url + "instagram/callback /? edit =") + (params [: id) .vorhanden? (params [: id]): ("")))),: id => "insta-sign-in-Taste")

Das ist meine Ansicht:

<% 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 %> 

Wie man diese Warnung repariert?

Antwort

1

Warnung deutlich anzuzeigen, dass Sie einen Parameter params[:id] direkt an link_to übergeben, das kann gefährlich sein.

Besser, etwas Objekt zu übergeben. Oder wenn Sie das nicht können, können Sie lokale Variable in Ihrem link_to übergeben, um diese Warnung loszuwerden. Aber das ist keine richtige Lösung.

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

Und übergeben Sie dies in Ihrer link_to URL.

+0

Wenn Sie den Wert in eine lokale Variable setzen, wird die Warnung nicht entfernt. – Justin