2

私はサーバー側のコーディングにかなり慣れていないので、現在、データベースからオブジェクトを取得し、ユーザーがそれらを編集できるようにしてから、これらの要素をデータベースに再挿入するサイトをセットアップしています。

しかし、ユーザーが開発ツールを使用してデータベースを破壊するのを防ぐ方法がわかりません。

基本的に要素はリストに表示され、各要素はスクリプトです。独自の一意の ID と名前 (一意である必要はありません) があります。したがって、データベースからプルされると、名前はリストのテキストになり、id は属性フィールドに含まれます。編集中は、html 属性から ID を取得し、それを使用して変更をデータベースに保存します。

もちろん、サーバー側でチェックを行い、ユーザーが行ったすべての編集が許可されているかどうかを判断します。

しかし、私が直面している問題は、ユーザーが任意の形式の開発者ツールを簡単に開いたり、スクリプト ID を変更したり (それらを切り替えたり、任意の方法で変更したり) できることであり、これは間違いなくデータベースに悪影響を及ぼします。

誰かがこの問題を防ぐためのテクニックをいくつか教えてくれませんか? 本当にありがたいです。ありがとう!

それがどのように役立つかはわかりませんが、私のコードの大部分は Javascript (jquery と jquery ui を使用) と php (フレームワークとして CodeIgniter を使用) です。

編集:

2 つの要素を想像する

ID -> タイトル -> 説明

5 -> こんにちは -> ワールド

6 -> バイバイ -> スリープ

サーバー側では、これらはリストとして表示され、値を編集する別の方法があります。

<li data-id=5>Hello</li>
<li data-id=6>Bye</li>

誰かが発火バグをロードして、クエリに使用するデータ ID を変更できます。たとえば、最初の ID を 7 にするか、両方を交換します。この場合、それは実際には問題ではありませんが、実際には私の好奇心のためです。これを防ぐ方法はありますか?

4

1 に答える 1

0

mysql_real_escape_string を使用して、安全なクエリをデータベースに送信します。

    $user_input = mysql_real_escape_string($_POST['user_input']);
于 2012-07-16T15:30:22.603 に答える