没接触过网络安全,请教各位大佬,把用户信息放到数据库后怎么保证安全?
题主你这个问题问得好大... 从以下几个方面着手吧:
数据库权限:连数据库不要老用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直接请个安全顾问吧。
首先,你的前端以及后端代码要保证其安全性,不能出现XXS或者SQL注入等攻击漏洞,再者就是数据库服务器与Web服务器进行分离,这样即可以提高一部分的安全性能也可以使网站提升效率。另外用户信息中的密码最好全部通过特定的加密方式进行加密处理之后再存储到数据库,保证其被盗取之后盗取者也很难知道其真实密码,望采纳!
题主你这个问题问得好大... 从以下几个方面着手吧:
数据库权限:连数据库不要老用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直接请个安全顾问吧。
首先,你的前端以及后端代码要保证其安全性,不能出现XXS或者SQL注入等攻击漏洞,再者就是数据库服务器与Web服务器进行分离,这样即可以提高一部分的安全性能也可以使网站提升效率。另外用户信息中的密码最好全部通过特定的加密方式进行加密处理之后再存储到数据库,保证其被盗取之后盗取者也很难知道其真实密码,望采纳!