2010-12-08 17 views
0

私は検索ボックスとプレス検索ボタンに単一引用符を挿入すると、それはのようなエラーを与える:単一引用符エラー

文字の後

[Microsoft]の[SQL Serverネイティブクライアント 10.0] [SQL Serverの]引用符が閉じていません文字列 ''。

+3

SQLをパラメート!これは、アプリケーションがSQLインジェクションに対して脆弱であるという確かな兆候です。あなたは何を使っていますか? C#? –

+3

を探してみてください: ';; drop table users; - ' –

答えて

2

連結してSQLを構築するのではなく、parameterized queriesを使用する必要があります。

これは、SQL Injection attacksを回避し、一重引用符の問題を解決します。

'を2倍にして速やかに修正します('')。これは一時的な回避策であり、コードはまだ脆弱です。

0

SQLクエリをパラメータ化します。これより深刻な問題があるのはSQL Injectionです。

0

ここで、i = 'foo'のように一重引用符を使用すると\ 'のように一重引用符をエスケープする必要があります。一重引用符、または嘘私は= 'これは今日の良い日'

+0

Odedに同意します。 –

+1

SQL Serverの引用符ではこのようにエスケープされません。 –

+0

SQLサーバーが一重引用符で引用符をエスケープするため、スラッシュ:\を使用して単一引用符をエスケープするとは間違いです。 '、@Odedのように答えます:http://stackoverflow.com/questions/4387300/single-quote -error/4387318#4387318、私もあなたに投票しませんでした。 –

関連する問題