2011-10-21 18 views
0

私はしばらくの間不思議に思っていましたが、DBの一部を公開せずにブラウザに渡された行を操作する本当に便利な方法を考え出していません。基本的には、(1)データベースから取得した要素のテーブルを提示する(2)AJAXを介して要素を編集/削除する可能性があります。テーブルの行IDを参照する最も安全な方法

ここでの私のジレンマは、最終的にユーザーのIDを渡して、おそらくは自分のデータベースをハックする機会を与える値を変更する必要があるという事実です。ですから、私の質問は、ajaxを使用してサーバー上の自分の要素をユーザーに公開することなく編集/削除ボタンを表示する理想的な方法は何ですか?

テーブルの非表示行を使用する必要がありますか?元のフィールド値を照会しますか?

答えて

1

データをエスケープし、ユーザーが上記の更新をコミットする前に更新中のデータにアクセスできることを確認した場合、ユーザーはデータベースをハッキングしません。

バックボーン(http://documentcloud.github.com/backbone/)は、データ操作にかなり役立ちますのでお勧めします。

+1

IDの表示/非表示は、スタイルの問題に過ぎません。テーブルの非表示行は単なるスタイルです。ハッカーを止めることはありません。 :)データ、認可、秘密、およびその他の保護(例えばCSRF)を回避することが必要です。 – freakish

+0

ええ - 一般的な原則として、私はセキュリティに関しては常にユーザを私の敵と見なしています。結局のところ、偽りの動きやアカウント情報が盗まれる可能性があります。彼らは彼らの上司に目を覚まし、ハード4で見た素敵なものを試すことができます。 – Stephen

関連する問題