Мне известно, что существует Межсайтовая подделка , которая может быть выполнена по запросу, который возвращает массив, перегружая конструктор Array.Например, предположим, у меня есть сайт с URL:
foo.com/getJson
, который возвращает:
['Puff the Dragon', 'Credit Card #']
Обычно это будет Javascript eval
'd для моего собственного сайта после XHRзапрос, но другой сайт может перехватить эти данные, включив что-то вроде:
<script>
function Array() {
var arr = this;
var i = 0;
var next = function(val) {
arr[i++] setter = next;
document.write(val);
};
this[i++] setter = next;
}
</script>
<script src="http://foo.com/getJson"></script>
Мой вопрос: можно ли сделать то же самое, когда запрос возвращает объект Javascript?то есть
{ name: 'Puff the Dragon', cc: 'Credit Card #' }
Я не мог найти способ сделать это, но, возможно, я что-то упустил.Я знаю, что есть более эффективные решения для защиты моего сайта, такие как использование while (1) хака или требование авторизационного токена в URL, но я пытаюсь выяснить, существует ли такая дыра в безопасности.