摘要:
继承自AbstractBaseUser模型 如果你想要修改默认的验证方式,并且对于User模型上的一些字段不想要,那么可以自定义一个模型,然后继承自AbstractBaseUser,再添加你想要的字段,这种方式会比较麻烦,最好是确定自己对Django比较了解才推荐使用。 (1)创建模型, 示例代码如 阅读全文
摘要:
继承自AbstractUser: 如果Abstractuser中定义的字段不能够满足你的项目的要求,并且不想要修改原来User对象上的一些字段,只是想要增加一些字段,那么这时候可以直接继承自django.contrib.auth.models.AbstractUser。其实,这个类也是django. 阅读全文
摘要:
一对一外键 如果你对用户验证方法authenticate没有更多的要求,就是使用username和password就可以完成用户的登录验证工作,但是想要在原来的模型的基础上添加新的字段,那么就可以使用一对一外键的方式,定义一个用户的扩展模型,示例代码如下: 需要注意的是,一定要将新创建的模型映射到数 阅读全文
摘要:
扩展用户模型: Django内置的User模型虽然已经足够强大了,但是有时候还是不能满足我们的需求,比如在验证用户登录的时候,它用的是用户名作为验证,而我们有时候需要通过手机号码或者是邮箱进行验证,还有比如我们想要增加一些字段,那么这时候我们就需要扩展用户模型了,扩展用户模型有多种方式。 1.设置P 阅读全文
摘要:
User模型 user模型是这个框架的核心部分,他的完整路径是在django.contrib.auth.models.User。对User对象做一个简单的了解。 字段: 内置的User模型有以下字段: (1)username:用户名,150字符以内,可以包含数字和英文字符,以及_ 、@、+、.和 字 阅读全文
摘要:
验证和授权概述 Django有一个内置的授权系统,它用来处理用户、分组、权限以及基于cookie的会话系统。Django的授权系统包括验证和授权两部分。验证是验证这个用户是否是他生成的那个人(比如用户名和密码验证,角色验证),授权是给与他的相应的权限。Django内置的权限系统包括以下方面: (1) 阅读全文
摘要:
sql注入: 所谓sql注入,就是通过把sql命令插入到表单中或页面请求的查询字符串中,最终达到欺骗服务器执行恶意的sql命令。具体来说,它是利用现有的应用程序,将(恶意的)sql命令注入到后台数据库引擎执行的能力,它也可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库 阅读全文
摘要:
clickjacking攻击: clickjacking攻击又称为点击劫持攻击,是一种在网页中将恶意代码等隐藏在看似无害的内容(如按钮)之下,并诱使用户点击的手段。 clickjacking攻击场景: 用户进入到一个网页中,里面包含了一个按钮(查看照片),但是这个按钮上面加载了一个透明的iframe 阅读全文
摘要:
XSS攻击: XSS(Cross Site Script)攻击叫做跨站脚本攻击,他的原理是用户使用具有XSS漏洞的网站的时候,向这个网站提交一些恶意代码,当用户在访问这个网站的某个页面的时候,这个恶意的代码就会被执行,从而来破坏网页的结构,获取用户的隐私信息等。 XSS攻击场景: 比如现在有一个发布 阅读全文
摘要:
在普通的form表单中采用post请求提交数据,可以在form表单的method=post的form标签下面,添加一个csrf_token标签{% csrf_token %},或者是直接手动的添加一个input标签,,都可以在form表单中做好csrf防御的工作。但是如果我们的数据是通过jQuery 阅读全文
摘要:
CSRF攻击概述: CSRF(Cross Site Request Forgery 跨站域请求伪造)是一种网站攻击的方式,它在2007年曾被列为互联网20大安全隐患之一。其他的安全隐患,比如SQL脚本注入,跨站域脚本攻击等在近年来已经逐渐为众人熟知,很多网站也都针对他们进行了防御。然而,对于大多数人 阅读全文