1、什么是Django框架?
Django 是用 Python 写的web 应用程序框架。 web框架是一套组件,能帮助你更快、更容易地开发web站点。
当你开始构建一个web站点时,你总需要一些相似的组件:处理用户认证(注册、登录、登出)的方式、一个管理站点的面板、表单、上传文件的方式,等等。于是有人开发出这这套框架供大家使用。
当一个用户请求到达网络服务器,它会被传递到Django,试图找到实际上什么是被请求的。 它首先会拿到一个网页的地址,然后试图去弄清该做什么。 这个部分是由Django的urlresolver(url解析器)。 它并不十分聪明,他接受一个模式列表,然后试图去匹配 URL。 Django从顶到底检查模式,如果有匹配上的,那么Django会将用户请求传递给相关的函数(这被称作视图)。).视图函数能在数据库中寻找到一些信息。 如果用户要求修改数据,视图 将检查是否你允许它这么干,然后更新工作描述,并发回一个消息:“做完了”。 然后视图生成响应,并且Django能够发送给用户的web浏览器。
答:Django是以个用来接收用户需求,匹配所需网页的地址,然后再检查需求里是够还有其他的特殊要求,如果有则利用数据库进行处理,最后将处理过的网页发给用户。
URLmapper:投射请求 view:分析执行请求 modles:管理数据
2、有哪些常见的网络威胁
XSS(Cross Site Scripting):攻击者通过向浏览器所信任的网站里插入脚本,从而让脚本进入到浏览器中,从而获取到用户使用的网站的授权cookie,并将此发送给攻击者。
反射型 XSS 攻击:攻击者再用户想要点的连接后面再加上一些恶意脚本(以URL参数形式传送到服务器),当服务器返回用户需要的内容是,脚本也会将网站内容返回给攻击者。
持久性XSS攻击:攻击者直接将脚本插入再网站中,不知不觉地显示并被用户无意间运行。
应对方法:输入过滤:修改用户数据使其无法用于运行脚本或其它影响服务器代码执行的过程。许多Web框架默认情况下都会对来自HTML表单的用户数据进行过滤。
SQL 注入漏洞:攻击者通过更改SQL代码,从而访问、修改或删除数据。成功的注入攻击可能会伪造身份信息、创建拥有管理员权限的身份、访问服务器上的任意数据甚至破坏/修改数据使其变得无法使用。
应对方法:将输入的SQL语句中其他含义的字符进行转义(/),使其无意义。
总结:一个web服务器不可以相信任何来自网络浏览器的数据!至少要先过滤。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 欢迎交流和提意见