今天是周末,多写写吧,和大家分享交流一下,虽园子django使用者不多,但算作自己的自我提升吧
django的网站建站的一点点自己的建议。
1:隐藏自己的前端行为或者能后端做的尽量不要在前端进行。
如正常情况下所有公司的 登陆和注册在敏感数据处理时都会选择加密,加密的方式多种多样:但无外乎:前端加,在rsa非对称加密后传输到后端。
有人认为这样就好了,其实这样是可以,但不完美,一种情况下,你暴露了你的后端处理方式,如果你的后端会再次对密码等在做加密处理,可能就完美了,但有些人就喜欢偷懒,js加密base64后或者md5后,rsa公钥加密传入后端。
后端解密后(为何揭秘,一般认为gongyaosiyao会定期更换,所以不要将rsa加密的东西直接存数据库),有些人的处理方式直接就存起来了。其实你前端进行的md5加密是暴露了你的密码在数据库存储方式。当然这些自然没什么,但毕竟有些高手可能会对此作些攻击调整策略。我认为最好的方式是,后端在进行处理:1避免别人在web端直接执行我们的post函数,传入为处理的东西,那我们数据库可能会存储这个没有处理过的数据。2:隐藏你的处理方式,提高别人攻击的成本。
这个只是一个小小的例子,但我们不应该相信客户端传过来的任何东西。
2:压缩加密存储 大型内容的数据
3:中间件的屏蔽(此处你可以做你想要的操作:如设定部分接口的访问次数,过于频繁永久封ip)
4:django开发时注意隐藏你的接口
5:尽量使用model而非拼接sql语句
6:少使用all(),灵活使用filter,count()等方法
还没总结完,晚上回家继续,嘿嘿