![](/img/trans.png)
[英]How to get more Entety from jsp and send list<Entety> to servlet
[英]How to make Servlet calls from JSP more secure?
我有一个JSP页面,其中包含很少的组合框,一个网格和一个用于刷新网格的按钮。 每当用户按下刷新按钮时,JSP页面将调用servlet,执行查询并使用基于组合框中的值的新检索数据刷新网格。
所以在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>
对我来说传递这样的参数似乎并不安全,因为人们可以很容易地查看servlet的url并执行SQL注入。
如何使通话更安全?
编辑:详细说明:在查询数据库之前,servlet已经完成了验证输入的共享(清理输入,准备语句等)。 我更担心的是我在通过URL调用servlet时暴露参数(例如,他们可以从下面看一下cus_cd参数)
SQL注入不应该成为一个问题。 这可以在数据库层上避免。 我的意思是你可以使用PreparedStatement
来避免SQL注入攻击。
看看这里, 在Java中防止SQL注入 。
您不应该尝试使呼叫更安全,因为用户可以随时嗅探它们,并且确定的攻击者可能会突破混淆。 您需要确保服务本身是安全的。 (即具有适当的身份验证,授权和适当的清理输入。)
简单地说明不依赖和信任客户端验证 。
最好通过过滤器传递所有servlet并检查是否存在正确的身份验证。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.