在jQuery中這樣做是否XSS安全?是否使用URL從隱藏域XSS安全中調用AJAX?
<html>
...
<input type="text" id="message" value="" />
<input type="hidden" id="url" name="url" value="http://www.mysite.com/ajax-server-code" />
<script>
var url = $('#url');
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
$('message').html(data.message);
}
});
</script>
...
</html>
基本上,我在這裏做的是:
- 使用隱藏域得知其AJAX URL調用
- 調用Ajax來的URL
- 使用這些數據來改變DOM
這不起作用,因爲您的變量「url」不包含正確的url,但它包含隱藏的元素。將其更改爲'var url = $('#url')。val()'。對於這個問題本身:爲此目的使用隱藏字段的值是不安全的,因爲用戶可以容易地改變隱藏字段的值。 –
[同源策略](http://en.wikipedia.org/wiki/Same_origin_policy)不允許XSS。 – MaXo
XSS不必從外部URL加載;該政策只是讓它更難。 –