使用Ajax显示时防止XSS

Protecting against XSS when displayed using Ajax

本文关键字:XSS Ajax 显示 使用      更新时间:2023-09-26

从服务器返回的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);

也可以,因为它改变了文本区域的内容。