sql >> データベース >  >> RDS >> Sqlserver

SqlParameterはテーブル名を許可しません-SQLインジェクション攻撃のない他のオプション?

    ホワイトリストを探してください。 可能なの固定セットのみが存在できます とにかくテーブル名の正しい値-少なくとも、私は願っています。

    テーブル名のホワイトリストがない場合は、文字のホワイトリストから始めることができます。 -A-Z、a-z、0-9(句読点なし)に制限すると、多くの懸念が解消されます。 (もちろん、それはあなたが奇妙な名前のテーブルをサポートしていないことを意味します...私たちはここであなたの要件を本当に知りません。)

    ただし、テーブル名または列名のいずれにもパラメーターを使用することはできません。値のみを使用できます。これは通常、データベースの場合です。 したものを見たのを覚えていません そのためのサポートパラメータ。 (もちろん、いくつかあると思います...)



    1. SQLテーブルの行値間の変更を検出してバインドするにはどうすればよいですか?

    2. PostgreSQLによって導入されたJSONBの説明

    3. PDO複数クエリ

    4. OracleからPostgreSQLへ—カーソルと一般的なテーブル式