2017-05-04 45 views
0

config.active_support.escape_html_entities_in_json由deafult在鐵軌(V4,V5),它由一些XSS攻擊,通過編碼的HTML實體<>&保護和它的觀點是偉大的(HTML)如何禁用JSON for API中的轉義HTML實體,但將其保留爲啓用視圖?

啓用,但我覺得這個編碼是多餘的API響應:

render status: :ok, json: { link: 'https://example.com?p1=v1&p2=v2' } 

我期望能獲得:

{ link: 'https://example.com?p1=v1&p2=v2' } 

,而不是

{ link: 'https://example.com?p1=v1\u0026p2=v2' } 

如何禁用JSON for API中的轉義HTML實體,但將其保留爲啓用視圖?

謝謝

回答

1

總結你的對象在as_json像這樣:

render status: :ok, json: { link: 'https://example.com?p1=v1&p2=v2' }.as_json 

More info on as_json

+0

它不工作:'應用程ationController.render status::ok,json:{link:'https://example.com?p1=v1&p2=v2'} .as_json'返回'「{\」link \「:\」https://示例。 COM?P1 = V1 \\ u0026p2 = V2 \ 「}」' – Alexey

1
render json: JSON.generate({ link: 'https://example.com?p1=v1&p2=v2' }) 

輸出:

{"link":"https://example.com?p1=v1&p2=v2"} 
相關問題