云上快速入门,热门云上应用快速查找
丰富的线上&线下活动,深入探索云世界
做任务,得社区积分和周边
最真实的开发者用云体验
让每位学生受益于普惠算力
让创作激发创新
资深技术专家手把手带教
遇见技术追梦人
畅聊无限,分享你的技术见解
技术交流,直击现场
海量开发者使用工具、手册,免费下载
极速、全面、稳定、安全的开源镜像
开发手册、白皮书、案例集等实战精华
为开发者定制的Chrome浏览器插件
热门
Java中使用prepareStatement预编译为什么就可以防止sql注入了,具体原理是什么样的?
预编译,生成了sql语法树,这里外面传入的参数只会作为参数,不能作为sql指令的一部分来执行。
我是这么理解的,prepareStatement预编译时已经生成了sql的语法树,执行时只能传入变量的值。
预编译就是首先生成sql语句,再用变量填空,所以对于恶意的字符串还是按变量处理,不会改变语句
可以参考 http://www.importnew.com/5006.html 这个文章,比较详细的讲解了预编译为什么可以防止sql注入
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。