api参数进行强制转换能避免注入吗?
公司做的一个商城,是我开发的,马上要上线了!
看到同行,昨天又被黑客,篡改了数据库数据,还提交了木马上去,业务几乎崩溃了。看到这里我瑟瑟发抖。
看样子是被黑客找到了注入点!
于是我做的系统,tp框架,我也不确定都是用了,pdo参数化设计,从代码上看,好像没用这些特性。
我寻思着,要不这样。我只接收参数是数字类型的数据。不要搜索功能,服务器对参数进行强制转换成数字int类型!
没有用户留言功能,提交反馈意见啥的。
上传文件接口关闭,例如用户不可以改头像!
后台管理入口,改成复杂的url
不考虑服务器自身安全,假设安全了。
这种方式如何?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用mybatis 或者 hibernate 框架自带就可以防止sql注入,不换框架最快的方法大概就是每一个地方都加字符判断,比如下面的写法,每一个地方都加虽然麻烦,可处理起来最快了
如果你真能做到所有传入的参数,都是数字,对于注入攻击这一块来说,那倒是真的可以解决。。= =
不过把那是特别不推荐这个做法了,一定会给项目功能扩展和维护方面带来大麻烦
面对SQL注入,我们不要害怕他,弄明白SQL注入的原理和当前自己操作数据库的方式就可以规避了
一条准则,不管你用什么语言都尽量保证使用 预编译语句
不能使用预编译语句的,比如某些关键字,order desc 之类的,才采用转换,比如用户传入0,1来转换。
这种情况下应该说就不用太害怕SQL注入了