問題タブ [parameter-spoofing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
32795 参照

sql-server - SQL Serverでのパラメータスニッフィング(またはなりすまし)

しばらく前に、ユーザーの1人に対してかなり多く実行したクエリがありました。それはまだ進化して微調整されていましたが、最終的には安定して実行されたので、そこからストアドプロシージャを作成しました。

これまでのところ、とても正常です。

ただし、ストアドプロシージャは非常に低速でした。クエリとプロシージャの間に重要な違いはありませんが、速度の変化は大幅でした。

[背景、SQLServer2005を実行しています。]

フレンドリーなローカルDBA(ここではもう機能していません)は、ストアドプロシージャを一目見て、「パラメータのなりすまし!」と言いました。(編集:「パラメータスニッフィング」としても知られているようですが、検索しようとしたときのGoogleヒットの不足を説明している可能性があります。)

ストアドプロシージャの一部を2番目のプロシージャに抽象化し、この新しい内部プロシージャの呼び出しを、外部プロシージャと呼ばれる既存の外部プロシージャにラップしました。これは、元のクエリと同じくらい高速でした。

それで、何が得られますか?誰かがパラメータのなりすましを説明できますか?

のボーナスクレジット

  • それを回避する方法を強調する
  • 考えられる原因を認識する方法を提案する
  • 状況を緩和するための代替戦略、たとえば統計、インデックス、キーについて話し合う
0 投票する
1 に答える
372 参照

java - selectOne と selectMany の選択肢は SelectItems によって制限されていますか?

JSF selectOne および selectMany コントロールは、指定された selectItems で定義された値の送信のみを許可しますか? パラメーターのなりすましが心配です。これが組み込まれている場合、選択した値が有効な選択肢の 1 つであることを確認するバリデーターは必要ありません。