私はPHPを使って簡単なチャットを作成しようとしています。すべてが期待どおりに機能していますが、潜在的な「悪用」に遭遇しました。私はAJAXを使ってスクロールのすべてのチャット・データを取得しています(FacebookやTwitterなど)。今問題が発生します:私は現在、動的に作成されたdiv内にチャットIDを格納しています。たとえば」PHPチャット - html5にIDを格納していますか?
<div class="chat" chat_id="4">
....
</div>
は、一つは、任意の入力されたテキストは、データベース内の不正なIDの下で保存される原因となるブラウザを介しchat_idを変更することができるだろう。これを防ぐ最良の方法だろうか?私は現在、全て取り出さ/開始チャットの詳細(送信者は、IDをチャット)する方法を考えている
が$ _SESSION変数内に格納されている。これは、チャットIDが有効であることを保証するために、検証目的のために、基本的です現在のユーザーの場合
もっと良い方法がありますか?ありがとうございました。あなたは `chat_id` attrのを持っているでしょうなぜ
の例ですか? – user3284463
彼らはまた、彼らのajax呼び出しを修正することもできます。なぜあなたはこれをやらないようにブロックしますか?彼らが(彼らがアクセス権を持っている)別のチャットを書きたいのであれば、なぜそれらを放棄しないのですか?なぜあなたは単にこれをjsに設定しないのですか?クライアントの呼び出し/データはありませんが、それでも安全ではありません。クライアントは定義上、送信/受信/受信しているすべてのものを変更することができます。 – h2ooooooo
チャットIDをセッションに保存すると、メッセージを取得するときにユーザーを確認できます。ユーザーがセッションでそのチャットIDを持っていない場合は、何も表示しないでください。ちなみに 'chat-id =" "属性を' data-chat-id = ""属性で変更することをお勧めします。 '-'と' data- * 'を使った良い実践 –