2011-04-29 5 views
5

私はsqlite3データベースにアクセスするjavascriptコードを持っています。テキストフィールドの値を検証し、SQLインジェクションを防止したいと思います。そのための "最適なアルゴリズム"はありますか?JavaScriptのテキストフィールドにSQLインジェクションを避けるには?

- アップデート:私はXulrunnerデスクトップアプリケーションを開発しています。たぶん私はコンパイルされた(C言語で書かれた)xpcomコンポーネントのデータベースを使うべきで、ユーザーはそれにアクセスできないだろう。

+0

おそらく、Javascriptはクライアント側で通常見つかるため、Javascriptはデータベースに直接アクセスしていない可能性があります。あなたはあなたのサーバーで何を動かしていますか? –

+0

dupe? http://stackoverflow.com/questions/3913837/best-way-to-prevent-sql-injection-using-javascript-or-c – slandau

+0

JavaScriptコードがdbに直接アクセスしていますか? –

答えて

8

通常、SQLインジェクションは、パラメータ化されたSQL文を使用することで回避されます。

これはどのように行うのかを説明したMSDNの記事です。ここで

は、SQLインジェクションを防ぐことができ、いくつかの方法を説明する別のarticleです。

5

SQLインジェクション防止はサーバー側で行われ、何もできないそれを防ぐためにクライアント側で行います。

+2

はい、彼はsqlite3を使用しています。私はこれがサーバーではなくローカルであると想定しています。 –

+0

@Gordon Worley、この文脈では、私はサーバー側がエンドユーザーによって無効にされたり変更されたりすることができないPHP、C#などの言語のいくつかの形式を含むだろうと言っています。 –

+0

@Gordon Worley - 彼はクライアント側のデータベースにアクセスしていますか?男、それはコンセプトです。決してそれを考えなかった。 –

0

あなたはどのような環境にいるのかよく分かりませんが、JavaScriptの性質とブラウザなどで頻繁に実行される方法のため、コードインジェクション攻撃は比較的簡単です。クライアント側で行うことは、攻撃について深刻な人が踏み込んでしまう可能性があります。検証しないでください。検証だけで十分であるかどうかを知るために実行している場所に注意を払う必要があることに注意してください。

関連する問題