前言WAF上线之后,处理最多的是误报消除。产生误报有多种原因,比如web应用源码编写时允许客户端提交过多的cookie;比如单个参数提交的数值太大。把误报降低到了可接受的范围后,还要关注漏报。WAF不是神,任何WAF都可能被绕过。所以还需要定位漏过的攻击,明确漏报的原因,才能updateWAF的策略。要定位漏报,就必须分析Web应用的访问日志了。一个站点,每天产生的access日志大概接近1GB,显然靠肉眼看是不现实的。这就需要用python帮助自动分析。
系统 2019-09-27 17:37:54 2214
之前介绍过遗传算法,参见:https://www.cnblogs.com/LoganChen/p/7509702.html我们用Python实现同样的问题解答。y=10*sin(5*x)+7*abs(x-5)+10我们来求这个函数在0-10之间的最大值。先来看一下这个函数的图像:importnumpyasnpimportmatplotlib.pyplotasplt"""**Colors**Thefollowingcolorabbreviationsares
系统 2019-09-27 17:57:15 2213
在工作中,常常会遇到需要将excel数据导入到数据库的场景。为了方便对数据进行清洗并写入数据库,所以希望能将每一行的数据以字典的形式存放起来,如同[{"id":1,"name":"张三"},]这种形式。下面开始介绍如何进行。首先新建一个测试项目,项目中包含一个py文件,用于写方法。还有一个待导入的excel文件:excel表的内容如下,可以看见表格里面的内容较为简单。以下是详细的代码及分析:importosimportxlrdfromxlrdimportx
系统 2019-09-27 17:56:57 2213
1base64Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python3.x通常输入输出都是二进制形式,2.x可以是字符串形式。base64模块的base64编码、解码调用了binascii模块,binascii模块中的b2a_base64()函数用于base64编码,binascii模块中的a2b_base64()函数用于base64解码。importbase6
系统 2019-09-27 17:54:53 2213
=一、链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而
系统 2019-09-27 17:54:53 2213
整理一下配置的过程。mac自带python2.7,但是python3.6和python2.7在很多地方上还是有一些差别的,还是使用目前比较主流的3.6吧。官网下载python3.6https://www.python.org/downloads/mac-osx/选一个你喜欢的版本下载,我下的是3.6.8按照提示一步步安装就好,最终会出现:用IDLE写代码太boring了,我比较喜欢用Pycharm在终端Installpython3如果电脑里没有Homebr
系统 2019-09-27 17:54:32 2213
通过python的os模块获取windows或者linux主机名的通用函数。复制代码代码如下:#!/usr/bin/envpython#coding=utf-8importosdefhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.popen('echo$HOSTNAME')try:hostna
系统 2019-09-27 17:54:07 2213
作为近两年来最火的编程语言的python,受到广大程序员的追捧必然是有其原因的,如果要挑出几点来讲的话,第一条那就python语法简洁,易上手,第二条呢?便是python有着极其丰富的第三方的库。所以不管你使用的关系型数据库是oracle,mysql,sqlserver,还是关系型数据库redis,mongoDB。python都有有与之对应的第三方库。下面就来为大家一一介绍一下!Mysql我们先来看看如何对接mysql数据库,python2和python3
系统 2019-09-27 17:53:13 2213
旋转椭圆实例代码:importmatplotlib.pyplotaspltimportnumpyasnpfrommatplotlib.patchesimportEllipsedelta=45.0#degreesangles=np.arange(0,360+delta,delta)ells=[Ellipse((1,1),4,2,a)forainangles]a=plt.subplot(111,aspect='equal')foreinells:e.set_c
系统 2019-09-27 17:52:38 2213
本节收录了稍作剪辑的PEP8摘要(PythonEnhancementProposal,Python增强提案)。PEP8由GuidovanRossum和BarryWarsaw撰写,是Python的最接近编程风格手册的东西。这里省略了一些比较具体的部分,但主要内容都已包括。应该尽可能让代码遵守PEP8规范,代码会由此更具Python风格。访问Python官方网站的文档部分并搜索PEP,就可以获得PEP8全文及Python历史上发布的所有其他PEP。PEP既是P
系统 2019-09-27 17:51:18 2213
安装模块windows:pipinstallpymysqlubuntu:sudopip3installpymysqlpython操作mysql步骤importpymysql(1)链接mysql数据库db=pymysql.connect(主机名,用户名,密码,数据库名)(2)设置字符编码db.set_charset('utf8')(3)创建游标对象cursor=db.cursor()(4)准备sql语句sql='...'(5)执行sql语句cursor.ex
系统 2019-09-27 17:51:03 2213
这个乘法表看上去比较舒服,(●’◡’●)foriinrange(1,10):#i取值1到9forjinrange(1,i+1):#j取值1到is="%d*%d=%d"%(j,i,i*j)#赋值乘法公式print(s.ljust(8),end='')#每个字符串占8字符,左对齐,i不变时结尾不换行print()#i变时换行函数defmult(n):foriinrange(1,n+1):forjinrange(1,i+1):s='%d*%d=%d'%(j,i,
系统 2019-09-27 17:49:52 2213
加入cas的好处cas是什么东西就不多说了,简而言之就是单点登陆系统,一处登陆,全网有权限的系统均可以访问.一次登陆,多个系统互通cas一般均放置在内网,加入cas验证则必须要求用户走vpn访问,提高安全性;cas可和域控等系统结合,密码定时过期;基本认证统一走cas控制,减去开帐号等麻烦事;django如何使用cas验证django的好处就是支持的包多,网上已经有大神做好的相关的app,直接下载、安装就可以了。我们要做的就是下载、解压拷贝,略微配置下就可
系统 2019-09-27 17:47:28 2213
1:readline()file=open("sample.txt")while1:line=file.readline()ifnotline:breakpass#dosomethingfile.close()一行一行得从文件读数据,显然比较慢;不过很省内存;测试读10M的sample.txt文件,每秒大约读32000行;2:fileinputimportfileinputforlineinfileinput.input("sample.txt"):pas
系统 2019-09-27 17:38:15 2213
在美国有这样一家奇怪的超市,它将啤酒与尿布这样两个奇怪的东西放在一起进行销售,并且最终让啤酒与尿布这两个看起来没有关联的东西的销量双双增加。这家超市的名字叫做沃尔玛。你会不会觉得有些不可思议?虽然事后证明这个案例确实有根据,美国的太太们常叮嘱她们的丈夫下班后为小孩买尿布,而丈夫们在买尿布后又随手带回了他们喜欢的啤酒。但这毕竟是事后分析,我们更应该关注的,是在这样的场景下,如何找出物品之间的关联规则。接下来就来介绍下如何使用Apriori算法,来找到物品之间
系统 2019-09-27 17:56:32 2212