Django开发与攻防测验(入门篇)

访客5年前黑客文章777

最近在培训包含在一些竞赛中,python结构方面的攻防需求呈现的越来越频频。
尽管python结构相关于Java、php等的广泛度还略低一点(当然现在的盛行程度现已越来越高了),可是咱们并不能够因此而忽视其的安全性。比如在一些赛事中就常用flask来命题等等,所以花时间学习python结构的开发与攻防关于web选手来说仍是一件比较重要的工作,所以编撰这篇文章,期望能够给一些想要快速入门的同学一点协助,一起也能共同进步。
如有过错的当地,还请各位师兄与同学指正。
依稀记得曾经用django + semantic ui + mongodb搭博客仍是大学一年级的时分,韶光仓促啊….
一、Django根底开发
曾经搭博客用的是1.8.2,还在机子上装着没卸,趁便拿过来用,当然新版别会修正许多bug,尽或许仍是要去学习新一些的版别,此篇权当入门篇。
1、下载装置与发动
# 下载django
pip install django==1.8.2 -i https://pypi.mirrors.ustc.edu.cn/simple/
# 创立文件夹并发动虚拟环境
virtualenv django_demo
cd django_demo
source bin/activate
# 创立寄存django文件的文件夹
mkdir learn_django
cd learn_django
# 创立项目
python django-admin.py startproject django_web
# 创立使用
python manage.py startapp django_app
# 修改django_web中的settings.py文件,将django_app参加到apps中

这样就完成了最根底的建立

运转服务看一下

2、Django结构中的MVC与MTV
MVC是众所周知的形式:model(模型)、view(视图)、controller(控制器)
用户在页面输入url,转交给url控制器,然后依据url匹配相应的视图函数,viwe会去到models取数据,然后models在数据库中获得数据后回来给视图,视图把要展现的数据回来给模版,然后就输出到页面上。

Django也是一个MVC结构,可是在Django中,控制器承受用户输入的部分由结构自行处理,所以django愈加重视的是 模型(model)、view(视图)、templates(模版),也便是MTV模型。
恳求一个url后,匹配相应的view区,view去models(一个保管数据的层级)查找咱们要的数据,然后将数据装载到templates层,然后呈献给咱们。

两者很像,能够说MTV依据MVC。
3、静态Web开发
创立模版层
当然,要是只想让简略的数据显现在Web页面中,不需求创立模版,直接在views函数中相应回去就能够了,可是仍是正规化一点。
在learn_django中创立templates文件夹(假如是IDE创立的django项目会主动创立),这便是咱们的模版文件夹,来增加一个可视化的模版index.html
html>
head>
    title>Django Learningtitle>
head>
body>
    h1>Hellow,Django!h1>>
body>
html>
创立视图层
视图层一般来说是一个视图函数,与url进行匹配回来传入对应的Web页面
from django.shortcuts import render
# Create your views here.
def index(request):
    return render(request,'index.html')
创立url层
创立url层,依据传入的url来找到咱们的视图函数,从而将烘托的模版回来
from django.conf.urls import include, url
from django.contrib import admin
from django_app.views import index
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
# 用正则去对url进行匹配,然后将视图函数匹配给相应的url
    url(r'^index/',index),
运转服务,默许在8000端口
python manage.py runserver

到这一步有一部分同学会有一些小问题,那便是并不能回来模版,或许Windows和linux状况各不相同,linux需求把templates目录放在app目录下才能够找到。
原因就在于settings.py中模版途径设置问题,假如templates目录是放在项目根目录,在settings中将templates途径参加就能够了。


4、动态web开发
前边是说静态页面,假如需求完成动态,那就不得不说与数据库存储的交互问题,需求对models进行对应的编写来获得数据。
mysql + django
装置对应的数据库接口驱动,这儿大致有三种:mysqldb、pymysql、mysqlclient。

[1] [2] [3] [4] [5] [6]  黑客接单网

相关文章

运用 PtH 进犯 NTLM 认证的 Web 使用

本文具体介绍了在Windows/Active Directory环境中运用PtH进犯NTLM认证的web运用的具体进程。该技能细节来源于Alva ‘Skip’ Duckwall 和Chris Camp...

你的网站是怎样被黑的

前语 这个标题的来历是@evilcos(余弦大大)在Github上共享的一个PPT,感兴趣的能够去他的repo下载。写这篇博客主要是想给自己最近业余时间学到的安全相关的常识做个总结,主要是关于网站常见...

FALLOUT工具包再现江湖,让你浏览网站时不知不觉中招-黑客接单平台

近年来,网络进犯越来越无孔不入,看似往常的活动在进犯者眼中也成为了潜在的进犯时机,作为这一趋势的最新事例,本文将展现进犯者是怎么经过人们日常的阅读行为来装置AZORult的。AZORult是一类特务软...

鱼叉式网络钓鱼攻击——一份关于攻击动机、技术和预防方法的完整指南-黑客接单平台

每天都有不计其数的鱼叉式垂钓邮件发送给全世界的受害者。 进犯有许多不同的途径,不管怎样进犯,都会对您的网络形成损伤。 所以,精确的、有针对性的进行剖析和履行是至关重要的。 在本指南中,咱们将介绍鱼叉式...

PHP反序列化与WordPress一些意外BUG的风趣结合

几个月前,我正在编写一篇关于PHP反序列化缝隙的博客文章,决定为这篇文章找一个实在方针,能够让我将测试数据传输给PHP unserialize ()函数来完结演示意图。所以我下载了一批WordPres...

PHP的两个特性导致waf绕过注入

1、HPP HTTP参数污染 HTTP参数污染指的是,在URL中提交相同键值的两个参数时,服务器端一般会进行一些处理。比方Apache就要以最终一个参数为准,比方: user.php?id=111&a...