我从数据库接收数据,然后使用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包含以下文本:
XSS Attack code goes here
我的问题是:
>这样做会不会出现XSS问题?
>万一出现问题,如何预防?
没有ajax,使用PHP打印数据时,我只是使用htmlentities来防止XSS,但是我没有看到任何类似的javascript.
解决方法:
when printing the data using PHP I just use htmlentities to prevent XSS
等效的是使用text()而不是html().
标签:ajax,xss,javascript
来源: https://codeday.me/bug/20191025/1927262.html