javascript - 何时转义使用 AJAX 发送的数据

标签 javascript jquery ajax security

我需要对通过 AJAX 输出的文本进行转义。如果我向数据库提交脚本,比如 <script>alert('hello world');</script> , 然后在页面上执行弹出。

这是我的函数,它设置数据,然后抓取要通过 AJAX 发送的数据。

function add_order() {
    if($_SERVER['REQUEST_METHOD'] == "POST") {
        $add_order = $this->order_model->set_order($_POST['text']);
        if($add_order==false){
            echo "fail";
            return false;
        }
        $order_data = $this->order_model->get_order_by_id($add_order);
        echo json_encode($order_data);
        return true;
    }
}

J查询代码:

$('#create_order').submit(function(){
        $.post('/order/add_order/', $('#create_order').serialize(), function(data){
            var obj = $.parseJSON(data);
            var obj_item = obj[0];
            $('tr.'+obj_item.id).append("<td>" + obj_item.text + "</td>");
            msg('success', 'Part #'+obj_item.number+' has been successfully created');
        });
    }
    return false;
});

如何阻止 obj_item.text 执行脚本?

最佳答案

您需要构建 DOM 元素并设置文本而不是构建 HTML:

$("<td />", { text: obj_item.text }).appendTo('tr.tr.' + obj_item.id);

关于javascript - 何时转义使用 AJAX 发送的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527716/

相关文章:

javascript - 您的网页何时可以休眠

javascript - Jquery getJson 不调用回调

php - 如何在页面加载时显示ajax加载gif动画?

ajax - Spring MVC 重新加载部分页面

javascript - 如何设置没有类或 ID 的链接的 href?

jquery - 如何只在img src存在的情况下显示div?

javascript - 使用 socket.io-mongodb-emitter 发出后关闭 mubsub 客户端

javascript - 在动态添加的 div 上初始化 owl carousel

javascript - 将 highcharts 转换为波斯语图像

javascript - innerHTML 不接受检索到的变量