には、以下のURLを考える:データバインドされたリピータコントロールでクエリ文字列をサニタイズする方法は?
domain.com/page.aspx?id=123
それは、このようなリピータのSqlDataSourceコントロールとしてデータバインドコントロールで使用されたとき、私はそのクエリ文字列値をサニタイズすることができますどのように?
<asp:SqlDataSource ID="projectDataSource" runat="server"
ConnectionString="MyConnectionStrings"
SelectCommand="select foo from bar">
<SelectParameters>
<asp:QueryStringParameter
DefaultValue="0"
Name="idfromqs"
QueryStringField="id"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
このように?id=asdf
に間違いはありませんか?
これらに類似の質問は良い答えを持っていますが、それらのどれも非常に私の問題
- Validate QueryStrings in ASP.NETを(チェックが分離コードファイルで発生する)
- How to intercept and pre-process QueryStrings in Asp.Net(簡単なチェックのために思い切ったように思われる)と一致するように見えるん
注:これは、ローカルIPアドレスの小さなブロックに制限されている内部アプリケーションです。私は、悪意のあるSQLインジェクションを心配することは少なく、精通していないユーザーには厄介なエラーメッセージが表示されないようにします。
だから、:SqlDataSourceコントロールは、クエリがデータベース上で実行される前にトリガーされるイベントがあり、そしてこのイベントに私が進む前に、値が正しいかどうかを確認たりすることはできませんか? –
yah、それは100%正しいです。 –