django个人总结
今天是周末,多写写吧,和大家分享交流一下,虽园子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()等方法
还没总结完,晚上回家继续,嘿嘿
django个人总结的更多相关文章
- 异步任务队列Celery在Django中的使用
前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- django server之间通过remote user 相互调用
首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...
- Mysql事务探索及其在Django中的实践(二)
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...
- Django
一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...
- Django admin定制化,User字段扩展[原创]
前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...
随机推荐
- C# GDI+发生一般性错误(A generic error occurred in GDI+))
解决思路: 1. 因为 .net GDI+ 是对底层 的封装. 所以可以尝试用 Marshal.GetLastWin32Error();函数获得底层错误代码. try{ image.Save(file ...
- Laravel RuntimeException inEncrypter.php line 43: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths
php artisan key:generate 运行上面代码即可解决
- SPSS数据分析—广义估计方程
广义线性模型虽然很大程度上拓展了线性模型的应用范围,但是其还是有一些限制条件的,比如因变量要求独立,如果碰到重复测 量数据这种因变量不独立的情况,广义线性模型就不再适用了,此时我们需要使用的是广义估计 ...
- JAVA过滤器与SpringMVC拦截器之间的区别
今天学习和认识了一下,过滤器和SpringMVC的拦截器的区别,学到了不少的东西,以前一直以为拦截器就是过滤器实现的,现在想想还真是一种错误啊, 而且看的比较粗浅,没有一个全局而又细致的认识,由于已至 ...
- Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...
- for(String s:v)
s是遍历后赋值的变量,v是要遍历的list.可以通过以下语句进行测试: List<String> v=new ArrayList(); v.add("one"); v. ...
- android studio gradle结构项目引入本地代码
1.首先需要用eclipse打开目标项目,file export,选择gradle file. 2.拷贝文件到as项目的根目录[可选] 3.找到as项目的根目录下 .idea目录,下面有个module ...
- MySQL exists的用法介绍
有一个查询如下: 1 SELECT c.CustomerId, CompanyName 2 FROM Customers c 3 WHERE EXISTS( 4 SELECT Or ...
- ShellExecute调用另外一个进程(demo为一个控制led的一段代码)
public enum ShowCommands : int { SW_HIDE = 0, SW_SHOWNORMAL = 1, ...
- CSS设置DIV背景色渐变
div{ width: 200px; height: 200px; FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=, ...