我从数据库接收数据,然后使用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] 举报,一经查实,本站将立刻删除。