从服务器返回的data
容易受到XSS攻击。在使用htmlspecialchar()
之类的东西将数据发送到客户端之前,我是否需要在服务器上对数据进行消毒,或者$.get()
是否会中介XSS?谢谢你
$.get('getData.php',
function (data){
$('#div1').text(data.div1);
$('#div2').html(data.div2);
$('#textarea').val(data.textarea);
},'json');
$('#div1').text(data.div1);
不容易受到XSS的影响,因为您正在更改元素的文本。这将照顾到您使用htmlspecialchars
的目的。
$('#div2').html(data.div2);
这是,因为你正在改变html而不是文本,所以如果你不知道你的响应,有人可以在那里放一个<script>
标签,并在你的页面上运行任意代码。
$('#textarea').val(data.textarea);
也可以,因为它改变了文本区域的内容。