0

数日前、データベースにHTMLデータを送信するフォームを作成したときに、この質問について考えるようになりました。私は自分の問題を解決しましたが、私はここでコンピューター理論の質問をしています。これは将来私(または他の人)に役立つかもしれません。phpSQL

SQLインジェクションから身を守りたいのですが、サーバー側でデータを検証する代わりにphp、JavaScriptでクライアント側のデータを検証できると思いました(PHPよりもJSの方がはるかに流暢です)そしてそれを送信します。

ただし、高度なユーザーはjavascript(またはHTTPrequest)を調べてから、自分の悪質なリクエストをサーバーに送信するように変更する場合があります。

私の質問:

コードが彼に見えるクリネット側で計算を行い、データが変更されたコードからではなく私のプログラムから送信されたことを保証する方法で送信することは理論的に可能ですか?

これは、公開鍵と秘密鍵を使用するRSAスキームで実行できますか?

4

1 に答える 1

1

SQLインジェクションから身を守りたいのですが、データを検証する代わりに、

SQLインジェクションから身を守るためにデータを検証しないでください。データを検証して、希望する形式であることを確認します。

データをエスケープしてSQLインジェクションから身を守ります(そして、プリペアドステートメントとパラメーター化されたクエリを介してエスケープします)。

コードが彼に見えるクリネット側で計算を行い、データが変更されたコードからではなく私のプログラムから送信されたことを保証する方法で送信することは理論的に可能ですか?

いいえ。クライアント側のコードは完全にバイパスできます。この分野では、データがサーバーに送信された場合にデータが拒否されることをユーザーにすばやく伝えることだけが役立ちます。

これは、公開鍵と秘密鍵を使用するRSAスキームで実行できますか?

いいえ。クライアントにキーの1つを渡す必要があります。その後、コードとは関係なく抽出して使用できます。

于 2012-10-16T08:14:14.253 に答える