Я думаю о том, является ли следующий сценарий угрозой безопасности (XSS).
В одном из моих контроллеров я отвечаю на запрос Javascript следующим образом:
format.js { render :partial => "myobjects" }`
Частичный объект myobjects (_myobjects.html.erb
) является частичным HTML (который также используется некоторыми шаблонами), где вводится материал из базы данных.С помощью jQuery я теперь выполняю следующий Ajax-запрос для получения содержимого в myobjects и замены чего-либо на сайте:
$.get(this.href, function(data) {
$("#myelement").html(data);
}, "script");
Теперь я спрашиваю себя, безопасно ли это.
- ДелатьМне нужно явно сделать некоторые экранирование в части myobjects, когда он используется в запросе Ajax, как описано выше?
- Нужно ли делать это вручную в частичном?Или я могу как-то сказать этому методу рендеринга сделать это?
- Будет ли добавление вызова escape_javascript внутри партиала как-то мешать при использовании этого партиала в обычном шаблоне html.erb?