0

の値を変更しています

<span></span>

Firefox Firebug を使用してから使用する

$("span").html();

ただし、ページの読み込み時に生成された元の値ではなく、スパンの変更された値を取得しています。

firebugによって変更されたものではなく、スパンの元の値を取得するにはどうすればよいですか?

私はこの値を ajax で使用してデータベースに保存しているため、セキュリティ上の目的でのみこれを求めていますが、現時点では、悪意のあるユーザーが firebug または Chrome の要素検査を使用して簡単に変更できます。

私はこれを正しくやっていますか?

4

2 に答える 2

1

クライアント側に送信されるものはすべて変更される可能性があり、フロントエンドのセキュリティに依存することはできません。サーバー側のコードが安全であることを確認する必要があります。

ユーザーがそのスパンの値を変更するのを止めたとしても、ユーザーは AJAX リクエストを複製し、パラメーターを変更して、サーバーが受け入れるものをサーバーに送信することができます。受信側でユーザーの入力をクリーンアップし、不要なものを除外する必要があります。

データベース トランザクションに SQL を使用している場合は、SQL インジェクションを回避する方法を確認する必要があります。あなたが言及したように、ユーザーは SQL をデータベースに送信しようとする可能性があり、これは有害な可能性があります。これについては興味深い記事があります。

于 2013-05-20T01:59:33.180 に答える
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');
        }
    });
});
于 2013-05-20T02:27:20.703 に答える