【发布时间】:2018-03-31 16:29:08
【问题描述】:
我从数据库接收数据并使用 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。
【问题讨论】:
标签: javascript ajax xss