いくつかのコンボボックス、グリッド、およびグリッドを更新するためのボタンを含む JSP ページがあります。ユーザーが更新ボタンを押すたびに、JSP ページはサーブレットを呼び出し、クエリを実行し、コンボボックスの値に基づいて新しく取得したデータでグリッドを更新します。
だからJavascriptでは、これは多かれ少なかれ私がやっていることです:
<script>
function getSRCHGTData() {
$.get('api/ServletTest', function(data) {
alert(data);
});
var comboBox = $("#cb_cus_cd").data("kendoComboBox");
var grid = $("#grid_SRCHGT").data("kendoGrid");
grid.dataSource.transport.options.read.url = "api/srchgt_read?cus_cd=" + comboBox.value();
grid.dataSource.read();
grid.refresh();
}
</script>
サーブレットの URL を簡単に調べて SQL インジェクションを実行できるため、そのようなパラメーターを渡すことはまったく安全ではないようです。
通話をより安全にするにはどうすればよいですか?
編集:詳細:サーブレットは、データベースにクエリを実行する前に、入力の検証をすでに行っています(入力のサニタイズ、ステートメントの準備など)。私がもっと心配しているのは、URL を介してサーブレットを呼び出すときにパラメーターを公開していることです (たとえば、以下から cus_cd パラメーターを見ることができます)。