現在、アポストロフィをまったく許可していません(ご覧のとおり、他の文字と一緒に)。これをフィールドごとに繰り返します。
foreach(char c in Comments)
{
if(c=='\'' || c=='$' || c=='\"' || c=='&' || c=='%' || c=='@' || c=='-' || c=='<' || c=='>')
{
errorMessage = "You have entered at least one invalid character in the \"Comments\" field. Invalid characters are: [\'], [\"], [&], [$], [@], [-], [<], [>], and [%]";
}
}
私はしばらくこれをコーディングしており、改善していますが、本当の問題は、ユーザー入力を効果的に「取り除く」か、そうでなければ検証する方法があると確信していますが、どれがわからないということですこのアプローチが最善であり、おそらくセキュリティ上の危機が差し迫るまではそうではないでしょう。
私がしなければならない場合は、フォームに一重引用符をまったく許可しないことに決めます (現在のように)。ただし、これにより、名前フィールドに Bill O'Reilly などという名前の人がいらいらする可能性があります。
おそらく他にも(「プラグイン?」「外部プログラム?」と呼んでいいのかわかりませんが)私のために仕事をしてくれるものがありますが、それは事実上役に立たないだけでなく、方法がわからないからです。それを統合するために、それを私のWebインターフェイス/データベースに合わせて調整する方法がわかりません。
通常のアポストロフィからSQLインジェクションアポストロフィを(おそらくそれを囲む文字で)検出するのに役立つコードはありますか?一部のフィールドは最大 500 文字 (テキストエリア) まで、1 つのフィールドは最大 1,000 文字まで保持できることに注意してください。
アイデアや助けをありがとう!