1. SQL注入和脚本注入问题

    1. SQL注入为界面输入框输入一段sql代码,而后台的逻辑能够识别这段SQL而导致程序的不安全性,故后台SQL一定要采用绑定变量方式,如:select * from TD_M_STAFF where STAFF_TYPE = ?,或:STAFF_TYPE。如果直接绑定值,如:select * from TD_M_STAFF where STAFF_TYPE = select * from ABC。如果界面输入的是select * from ABC就会导致程序报错。
    2. 脚本注入为界面输入一段脚本,然后将提交给服务器再输出到界面时,直接运行一段脚本导致,如在界面输入一段脚本:<script>alert(new Data())</script>。如果将该数据放入到<span jwcid="@Insert" value="ognl:'<script>alert(new Date())</script>'" raw="true"/>这样将会把一段代码变成一段执行脚本来执行,造成脚本注入方式,而导致系统的不安全性。注意:平时写@Insert时可以不用加上raw参数,或者设置raw="false",最好批量替换应用中的raw="true"为raw="false"。