哪个报表工具能抵挡 SQL 注入攻击
首先,要知道报表为啥会出现 SQL 注入攻击。所有的报表工具都会提供参数功能,主要用于用户输入条件后的数据筛选,固定条件不够,还要求更灵活,因此通用查询又出现,允许动态拼 SQL,随之而来的就是 SQL 注入的风险了。 那么如何避免?简单来讲,安全第一,只要不支持拼 SQL 做灵活条件就行了,但这样牺牲了产品能力,开源产品就是这样,想做也只能自己硬编码拼 SQL 来做灵活查询。 另外,有些报表工具只提供拼 SQL 实现灵活条件的方案,但没考虑规避 SQL 注入风险,是很危险的。 润乾报表在这方面考虑的就很全面(目前不清楚是不是有其他厂家能做到),提供拼 SQL 实现灵活条件的同时,还提供了敏感词监测功能,当参数中出现这些敏感词的时候,程序就会主动抛出错误提示,报表中断执行、抵挡住可疑攻击,并且都做了封装,操作起来很容易,只需要在配置文件配置好要规避的敏感词(或特殊关键字)就可以了。 xml 文件配置项如下: 禁用参数值通过 "disallowedParamWordList" 属性,多值用逗号隔开列出。更详细的说明可参考 报表的 SQL 植入风险及规避方法 。 总的来说,绝大报表工具都可以做到抵挡 SQL 注入,但简便性或产品完善度一对比就很清楚。另外,不能因为方法简便、产品完善就贵,还要考虑产品性价比,润乾报表兼具开源和商用的优势,有商用报表工具的所有功能(甚至更完善)