更改firebug中的值并使用jQuery html()

时间:2013-05-20 01:58:13

标签: jquery firebug html

我正在改变

的值
<span></span>

使用firefox Firebug然后使用

$("span").html();

但它获取了span的更改值,而不是加载页面时生成的原始值。

如何通过firebug获取范围的原始值而不是更改的值?

我只是出于安全目的而要求这个,因为我在ajax中使用这个值来保存到数据库,但是现在,可以通过使用firebug或chrome上的元素检查的坏心用户轻松修改它。

我这样做是否正确?

2 个答案:

答案 0 :(得分:1)

发送到客户端的任何内容都可以更改,您不能依赖前端的安全性。您必须确保您的服务器端代码是安全的。

即使您要阻止用户更改该范围的值,他们仍然可以复制您的AJAX请求并更改参数以将任何内容发送到它将接受的服务器。您需要清理接收端的用户输入并过滤掉您不想要的任何内容。

如果您正在使用SQL进行数据库事务,那么您应该阅读有关如何避免SQL注入的信息。正如您所提到的,用户可能会尝试将SQL发送到您的数据库,这可能是有害的。这是关于这个主题的一个有趣的article

答案 1 :(得分:1)

如果您担心价值变化,则需要在提交前将值与原始值进行比较。

var spanMatches = function(original) {
    span === "Original Span" ? true : false;
};

$(document).ready(function(){
    // cache original value on domready
    var original =  $('span').html();
    // span value gets changed
    $('span').html('new value');

    $('form').submit(function(){
        if(spanMatches(original)){
            $.ajax(function(){
                // make sure you include `original` in data sent upstream
            });
        } else {
            alert('value has been changed');
        }
    });
});