2012-03-13 7 views
1

Я пытаюсь понять, как включить JavaScript извне, чтобы код печатался на странице.Печать кода JavaScript из внешнего файла

Когда я вставляю JavaScript непосредственно в код страницы, он печатает «привет»

<html> 
<head> 
<title></title> 
</head> 
<body> 
<script type="text/javascript">document.write("hello");</script> 
</body> 
</html> 

Однако, когда я ставлю тот же код во внешний файл сказать «javascript.js» и включить его (ЦСИ) в html он не печатает «привет»?

<html> 
<head> 
<title></title> 
<script type="text/javascript" src="http://thewebsite.com/javascript.js"></script> 
</head> 
<body> 
</body> 
</html> 

Я пытаюсь понять, как получить этот внешний файл JavaScript для запуска и распечатать «привет». Как работает XSS, если хакер должен был включить следующий тег внутри, скажем textarea, чтобы вызвать его вредоносный скрипт с вредоносного сервера?

<script type="text/javascript" src="http://thewebsite.com/javascript.js"></script> 

Heres Что в файле «javascript.js»:

<script type="text/javascript"> 
document.write("hello"); 
</script> 

Файл находится на том же домене, так же происхождения политика не должна применяться здесь и как уже упоминалось, если я непосредственно вставить код это делает но не тогда, когда я пытаюсь включить в отдельный файл.

Я думал, что в том числе JavaScript как внешний файл, должен печатать содержимое внешнего файла (т. Е. «Привет» в этом случае), как если бы он был непосредственно вставлен на страницу html?

+0

Не могли бы вы рассказать, что вы получаете на консоли? И какой браузер вы используете. Я могу получить то, что вы пытаетесь сделать. – Ajai

+1

Тег в вашем файле javascript не нужен

0

Когда я вставляю JavaScript непосредственно в код страницы, он печатает «привет»

Правильная

Однако, когда я ставлю тот же код во внешний файл сказать «JavaScript. js "и включить его (src) в html, он не печатает" привет "?

Если содержимое не записывается, предположительно, вместо этого возникает ошибка. Проверьте консоль ошибок для своего браузера.

Проблема заключается в том, что вы включаете теги HTML-скриптов в файл JavaScript. Файлы JavaScript должны содержать только JavaScript.

Файл находится на том же домене, так же происхождения политика не должна применяться здесь

Это не делает. Политика одного и того же происхождения просто запрещает запуск JavaScript (не загружается из) Origin A из чтения данных из Origin B. Поскольку данные включены в сам скрипт, он все равно будет доступен, даже если скрипт был загружен из Origin B.

Смежные вопросы