07 2013 档案
摘要:1.首先创建一个工程newsnsdjango-admin.py startproject newsns在工程目录下新建一个文件夹templates,在settings.py文件中对该模版路径进行配置: 1 import os 2 3 ROOT_DIR = os.getcwd() 4 5 6 TEMPLATE_DIRS = ( 7 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 8 # Always use forward slashe
阅读全文
摘要:下载djangogit clone https://github.com/django/django.git安装python setup.py install 创建项目mysnsdjango-admin.py startproject mysns启动服务器在工程目录下执行:django-admin.py startproject mysns创建页面views.pyvim mysns/views.py以下代码1 from django.http import HttpResponse2 def hello(request):3 return HttpResponse("Hello wo
阅读全文
摘要:1.创建数据库uliweb的数据库都在models.py文件里面,因此先创建该文件vim apps/blog/models.py添加如下两行:#coding=utf-8from uliweb.orm import * #对象关系映射(ORM)提供了概念性的、易于理解的模型化数据的方法一个简单的blog数据库应该有:标题作者内容时间所以我们需在models.py 里面添加如下内容:class blogdata(Model): username = Field(CHAR) content = Field(TEXT) title = Field(CHA...
阅读全文
摘要:1.在apps/blog目录下创建form.py文件1 #coding:utf-82 3 from uliweb.form import*4 5 class blogform(Form):6 user = StringField(label = '姓名', required = True)7 content = TextField(label = '内容')blogform为一个继承自Form类的子类,包括user和content两个字段。2.然后在views中引用该类 1 #coding=utf-8 2 from uliweb import expose, f
阅读全文
摘要:1.LDR R1, =COUNT 意思是将 COUNT 变量的地址放到 R1中LDR R1, COUNT 意思是将 COUNT 变量地址里面的内容赋给 R12.Load-Store 结构——这个应该是 RISC设计中比较有特点的一部分。在 RISC 中,CPU 并不会对内存中的数据进行操作, 所有的计算都要求在寄存器中完成。 而寄存器和内存的通信则由单独的指令来完成。而在 CSIC中,CPU是可以直接对内存进行操作的,这也是一个比较特别的地方。所以,在 ARM中,cpu只能通过寄存器来对内存的数据进行访问和更改。LDR Rd,(地址)STR Rd, (地址)LDMIA Rn!, registS
阅读全文
摘要:将python字典键值对转化为相应的变量名和变量值可以使用以下方法:globals().update({"name":"value"})locals().update({"var":"val"})举例如下:>>> D={'a':1,'b':2,'c':3}>>> globals().update(D)>>> print a,b,c1 2 3
阅读全文
摘要:元组转换成列表>>> mytuple = (1,2,3)>>> print list(mytuple)[1, 2, 3]列表转换成元组>>> mylist = [1,2,3]>>> print tuple(mylist)(1, 2, 3)列表转换成字典>>> mylist2 = [('black',0), ('red',3), ('yellow',7)]>>> print dict(mylist2){'black': 0,
阅读全文
摘要:先安装数据库和相关的库文件1 sudo aptitude install python-setuptools2 sudo easy_install SQLAlchemy3 sudo easy_install uliweb4 sudo easy_install plugs5 sudo aptitude install mysql-client -y6 sudo aptitude install mysql-server -y7 sudo aptitude install python-mysqldb -y在app/settings.ini中...
阅读全文
摘要:uliweb模版的文件名是与函数名相同的以test为例:***@Android:~/ablog# vim apps/blog/templates/test.html 编辑test.html的内容1 2 3 4 5 你说6 "爱你!"7 8 在浏览器打开http://127.0.0.1:8000/home/xyz,xyz代表任意字符串,得到的结果是:在模板中使用python程序的数据1 @expose('/home/')2 def test(name):3 #返回一个字典,key可以随便写,但是value要与参数相同4 return {'n':
阅读全文
摘要:创建项目***@Android:~# uliweb makeproject ablog***@Android:~# cd ablog/***@Android:~/ablog# lsapps fcgi_handler.fcgi wsgi_handler.py创建app(应用)切记:应用是在项目目录下创建的,例如新闻模块,论坛模块,用户模块都可以算应用***@Android:~/ablog# uliweb makeapp blog***@Android:~/ablog# ls appsblog local_settings.ini settings.ini启动服务***@Android:~...
阅读全文
摘要:当浏览器从 web 服务器请求服务时,可能会发生错误。从而有可能会返回下面的一系列状态消息:1xx: 信息消息:描述:100 Continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。101 Switching Protocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2xx: 成功消息:描述:200 OK请求成功(其后是对GET和POST请求的应答文档。)201 Created请求被创建完成,同时新的资源被创建。202 Accepted供处理的请求已被接受,但是处理未完成。203 Non-authoritative Informa
阅读全文
摘要:得到不重复的随机数字的方法,如下所示,建立一个列表,将需要生成的随机数字放在列表中,然后随机选出一个,同时将选出的数字移出列表:lst = ['0','1','2','3','4','5','6','7','8','9']value = random.choice(list(lst))r = int(value)lst.remove(value)多线程下载先来学习一下多线程的创建方式,我们创建threading.Thread的子类来包装
阅读全文
摘要:urlopen()与urlretrieve()1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据(玩过web的人应该知道提交数据的两种方式:post与get。如果你不清楚,也不必太在意,一般情况下很少用到这个参数);参数proxies用于设置代理。urlopen返回 一个类文件对象,它提供了如下方法: read() , readline() , readli...
阅读全文
摘要:漏洞原理: 安卓浏览器内核有这样一个机制,当网页内嵌入了一个特定格式的字符串,就可以被识别为一个电话号码通过点击该字符串的方式拨打电话。但是没有对*#06#等具有特殊功能的拨号组合进行限制,由于很多厂商会使用一些类似这样的特殊号码组合来擦除手机数据,所以一旦有问题的手机执行了该拨号组合,就会导致手机数据被擦除。
阅读全文
摘要:poc实际上就是一段漏洞利用代码,以下是最近炒得很火Android签名验证漏洞POC,来自https://gist.github.com/poliva/36b0795ab79ad6f14fd8 1 #!/bin/bash 2 # PoC for Android bug 8219321 by @pof 3 # +info: https://jira.cyanogenmod.org/browse/CYAN-1602 4 if [ -z $1 ]; then echo "Usage: $0 " ; exit 1 ; fi 5 APK=$1 6 rm -r out out.apk
阅读全文
摘要:Bluebox Security在7月3号的时候,在官网上发布了一个据称99% Android机器都有的一个漏洞。国内最早在4号开始有媒体报道,并持续升温。该漏洞可使攻击者在不更改Android应用程序的开发者签名的情况下,对APK代码进行修改。并且,这个漏洞涉及到从1.6版本至今全部的Android版本,换句话说,这4年中生产的9亿设备,即当今市场上99%的Android产品都面临这一问题。看到这样的报道,一开始我和我的小伙伴们都不敢相信。因为签名机制用了这么多年,多少大脑袋厚眼镜的天才们想要颠覆都没搞定,Bluebox Security怎么可能搞定的呢?不过,由于好奇心驱使,我开始查看Bl
阅读全文
摘要:python需要unicode编码,网页需要utf-8。判断类型:>>> s = "你好" #utf-8编码>>> >>> l1 = [s]>>> >>> print l1['\xe4\xbd\xa0\xe5\xa5\xbd']>>> >>> s = u"你好" #unicode编码>>> >>> l1 = [s]>>> >>> print l
阅读全文
摘要:#coding:utf-8import urllib#根据URL获取域名def getdomain(url): proto, rest = urllib.splittype(url) host, rest = urllib.splithost(rest) return hostprint getdomain("http://www.cnblogs.com/goodhacker/admin/EditPosts.aspx?opt=1")输出结果为:www.cnblogs.com
阅读全文