微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ajax接收的数据上的JavaScript中防止XSS

我从数据库接收数据,然后使用jQuery ajax将结果添加HTML元素中,如下所示:

$.ajax({
    url: "getDatabaseData.PHP",
    type: "post",
    dataType: "json",
    success: function(response){
        $("#message-div").html(response[0].user_input_message);
    }
});

这是从数据库获取并返回数据的getDatabaseData.PHP

$messages = $CFG_DB->select("SELECT user_input_message FROM messages");
echo json_encode($messages);

例如,假设user_input_message包含以下文本:

<script>XSS Attack code goes here</script>

我的问题是:

>这样做会不会出现XSS问题?
>万一出现问题,如何预防?

没有ajax,使用PHP打印数据时,我只是使用htmlentities来防止XSS,但是我没有看到任何类似的javascript.

解决方法:

when printing the data using PHP I just use htmlentities to prevent XSS

等效的是使用text()而不是html().

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐