javascript - 如何保证数据库里的信息安全?
问题描述
没接触过网络安全,请教各位大佬,把用户信息放到数据库后怎么保证安全?
问题解答
回答1:题主你这个问题问得好大... 从以下几个方面着手吧:
数据库权限:连数据库不要老用root,给web应用单独开帐号,最小化权限
数据库密码:不要弱密码,尽量搞个随机生成的16位以上的密码
web服务器:同数据库,密码尽量复杂化,尽量不要直接用root帐号,单独开帐号,只有在必须需要的时候才用root
web应用:
尽量选一个好点的DB库或ORM库,使用参数化的SQL查询,不要直接把参数拼在SQL里面,防止SQL注入
用户(包括后台管理用户)的密码信息不要直接存储,应加盐hash后再存储
如果可以,尽量使用HTTPS
渲染HTML的时候,尽量使用编码后再输出,防止XSS
非得输出一段用户控制的富文本HTML的时候,使用htmlpurifier这样的过滤器,防止XSS
遵循HTTP动词语义,增删改类操作使用POST/DELETE/PUT,并增加csrf_token,防止CSRF攻击
暂时想到这么多,web安全还有很多要注意的点,建议LZ直接请个安全顾问吧。
回答2:首先,你的前端以及后端代码要保证其安全性,不能出现XXS或者SQL注入等攻击漏洞,再者就是数据库服务器与Web服务器进行分离,这样即可以提高一部分的安全性能也可以使网站提升效率。另外用户信息中的密码最好全部通过特定的加密方式进行加密处理之后再存储到数据库,保证其被盗取之后盗取者也很难知道其真实密码,望采纳!
相关文章:
1. 关于docker下的nginx压力测试2. Docker for Mac 创建的dnsmasq容器连不上/不工作的问题3. docker 下面创建的IMAGE 他们的 ID 一样?这个是怎么回事????4. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?5. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?6. docker-compose中volumes的问题7. javascript - vue的element-ui(饿了吗UI) webpack打包时externals无法分离8. 数据挖掘 - 如何用python实现《多社交网络的影响力最大化问题分析》中的算法?9. docker start -a dockername 老是卡住,什么情况?10. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~

网公网安备