利用Django表单实现 用户注册,检测数据库中是否有该用户。方法 查到的比较好的一种方法 get(**kwargs) 以下文描述的 "字段查询" 格式返回匹配查找参数的对象.如果没有找到符合给定参数的对象,会引发一个模块级的DoesNotExist 异常. 如果找到不止一个对象,引发AssertionError 异常.

from django.core.exceptions import ObjectDoesNotExist
try:
#判断用户名是否被注册
    User.objects.get(username=username)
except ObjectDoesNotExist:
    return username
raise forms.ValidationError('改用户名已存在')

Continue

CSRF verification failed. Request aborted.

Help Reason given for failure: CSRF token missing or incorrect. 解决方案: 在Settings里的MIDDLEWARE_CLASSES增加配置: 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfResponseMiddleware',

Continue

在我们的js中,最大的一般还是js库,毕竟具体的功能实现只需要写一点点代码而已。但是js库里那么多用到的没用到的东西,还是有点份量的。我们 又想用,又嫌它大。怎么办呢?拆成很多个吧,多一个js还多一个并发连接呢…… 幸好,google挺够意思,号称“永久提供”常见js库,google的服务器和线路品质那自然是不在话下的。即提高了下载速度又减少了自己服务器的并 发连接数。不用就是傻子了。 用起来也很简单,直接在网页里引用google服务器上的相关js文件就可以了。不过,如果引用多个js,就要插入多段的script。现在像我这样代码 能少一个字算一个字的人不少。google也提供了相应的办法,那就是google load。我们只需要在页面里引用一个js文件,就可以根据需要实时加载用到的js库了。首先在页头部分加入以下这行代码:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
这就足够了,google提供了以下这些js框架/库的API: jQuery jQuery UI Prototype script.aculo.us MooTools Dojo 而且google的API中包括这些js框架/库的所有正式发布版。你可以根据自己的需要来选择。以jQuery为例,我们可以这样使用:
<script type="text/javascript">
  google.load("jquery", "1.3.2");//加载jQuery 1.3.2
 </script>
这样我们就从google的最近的CDN镜像上加载了jQuery 1.3.2版的js库,接下来就可以正常写js代码了。不过,即使是google的CDN镜像,下载也毕竟是需要时间的,万一代码库还没有下载完而浏览器 已经解释到了下面的代码了怎么办?我们可以设定在js库加载完以后才开始执行js:
<script type="text/javascript">
    google.load("jquery", "1.3.2"); //加载jQuery 1.3.2
    google.setOnLoadCallback(function() {//加载完成后执行代码
        $("body").html("Hello World!");
    });
</script>

Continue

DELETE FROM wp_posts WHERE post_type = 'revision'; DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock'; DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

Continue

1、MySQL数据库 net start mysql 启动mysql服务 net stop mysql 停止mysql服务 2、Django 启动自带的web服务 python manage.py runserver 创建项目 django‐admin.py startproject mysite 创建应用 python manage.py startapp books 以正确Django配置启用Python交互解释器 python manage.py shell 检查模型的语法和逻辑是否正确  python manage.py validate 生成 CREATE TABLE 语句(books 是app的名称) python manage.py sqlall books 提交SQL语句至数据库的方法  python manage.py syncdb  (syncdb 并 不能将模型的修改或删除同步到数据库)  

Continue

收藏学习 PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成 HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。 1, 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。 这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。 2, 在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。 这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的 email 地址是 [url=mailto:“joeuser@wwwphp.net]“joeuser@wwwphp.net[/url]” 而不是 [url=mailto:“joeuser@php.net]“joeuser@php.net[/url]” 的家伙们,这个方法可以很方便的抓住他们。 3, 如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考虑抛弃 mysql_* 系列函数改用改进版的 mysqli_* 系列函数。 一个很好的功能就是你可以使用预处理语句,如果你在维护一个数据库密集型站点,这个功能能够加快查询速度。一些评估分数。 4, 学会爱上三元运算符。 5, 如果你在项目中感觉到有可复用的部分,在你写下一行代码前先看看 PEAR 中是否已经有了。 很多 PHP 程序员都知道 PEAR 是一个很好的资源库,虽然还有很多程序员不知道。这个在线资源库包含了超过 400 个可以复用的程序片段,这些程序片段你可以立即用刀你的程序里。除非说你的项目真的是非常特别的,你总能找到帮你节省时间的 PEAR 包。(参见 PECL) 6, 用 highlight_file() 来自动的打印出格式化的很漂亮的源代码。 如果你在留言板、IRC 这些地方寻求一个脚本的帮助的话,这个函数用起来非常的顺手。当然了,要小心不要意外的泄露出你的数据库连接信息和密码等。 7, 使用 error_reporting(0) 函数来防止用户看到潜在的敏感错误信息。 在理想情况下,发布服务器应该在 php.ini 里完全禁止。但是如果你用的是一个共享的 web 服务器的话,你没有自己的 php.ini 文件,那么这种情况下你最好的选择就是在所有脚本的第一行前加上 error_reporting(0);(或者使用 require_once() 方法)。这就能够在出错的时候完全屏蔽敏感的 SQL 查询语句和路径名。 8, 在网数据库中存储很大的字符串之前使用 gzcompress() 和 gzuncompress() 来显式的压缩/解压字符串。 这个 PHP 内置函数使用 gzip 算法,可以压缩普通文本达 90%。在我每次要读写 BLOB 类型的字段的时候都使用这些函数。唯一额例外就是当我需要全文检索的时候。 9, 通过“引用”传递参数的方法从一个函数中得到多个返回值。 就像三元运算符一样,大部分受过正式编程训练的程序员都知道这个技巧。但是那些 HTML 背景大于 Pascal 背景的程序员都或多或少的有过这样的疑问“在仅能使用一次 return 的情况下,从一个函数里返回多个值?”答案就是在变量前加上一个 “&” 符号,通过“引用”传递而非“值”传递。 10, 完全理解“魔术引号”和 SQL 注入的危险性。 我希望阅读到这里的开发者都已经很对 SQL 注入和了解了。不过我还是把这条列在这里,是因为这个确实有点难以理解。如果你还没有听说过这种说法,那么把今天剩下的时间都用来 Google、阅读吧。

Continue

1 、Apache安装配置 下载http://httpd.apache.org/download.cgi 一路next  我是直接用的wamp的 2、Python安装 直接过了 3、Django安装 下载:https://www.djangoproject.com/download/ 在解压出的目录下执行: python setup.py install ,django就自动安装到了C:\Python25\Lib\site-packages 这个目录下了。 Python25/script/目录下有Django-admin.py  在该目录 下执行命令:Django-admin.py startproject testbb 创建一个工程 看到Python25/script/下多一个testbb目录,里面有文件。 testbb目录下执行manage.py runserver,打开浏览器:http://127.0.0.1:8000/ 可以看到内容,哈哈。 4、mod_python安装 选择路径OK,下载http://archive.apache.org/dist/httpd/modpython/win/3.3.1/ 5、安装PIL 直接下载安装了。 6、MySQL安装 下载:http://dev.mysql.com/downloads/mysql/5.0.html 7、MySQL-python 找到一个好的下载地址http://www.codegood.com/downloads 在运行Python setup.py install后,出现serverKey =_winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,options['registry_key']),如果使 用mysql 5.5需要修改site.cfg文件中registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0修改为5.5。 1)安装MingW32。先下载mingw-get,然后用mingw-get安装g

cc. 2)安装MySQL Connector/C. 网上有很多文档说是安装MySQL Server,但是我安装了MySQL Server(包含开发用的Header/Lib),结果在后面哦编译中还是报有些头文件找不到,后来才发现应该是安装Connector/C, 而不是MySQL的Server。 3)注释掉MySQL Connector/C中的config-win.h中的行typedef int mode_t; 4)下载MySQL-python-1.2.3.tar.gz,解压后,修改MySQL-python-1.2.3中的setup_window.py. a)注释掉行mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location') 修改为:mysql_root=r"<安装MySQL Connector/C的目录>"  *虽然那个serverKey可以在site.cfg中设置,但是感觉比较怪异,为什么不让用户直接在site.cfg中配置这个Locstion呢,反倒是要配置一个注册表中的键值。 b)注释掉行libraries = [ 'kernel32', 'advapi32', 'wsock32',client] 修改为:libraries = [ 'kernel32', 'advapi32', 'wsock32',"libmysql"] *这个真的让我郁闷了很久,当使用mysqlclient这个lib时,undefined reference超多。为了查那些错误,让我浪费了很多的时间,最后尝试写死了用libmysql,竟然通过了. c)注释掉行extra_compile_args = [ '/Zl' ] 修改为:extra_compile_args = [ ] *这个Option应该是GCC不支持。 5)在MySQL-python-1.2.3中执行 python ez_setup.py install python setup.py build --compiler=mingw32 python setup.py install 6) 把MySQL Connector/C.中的lib/opt/libmysql.dll复制到Windows的System32目录下面。 7)修改MySQL-python-1.2.3中的tests/test_MySQLdb_dbapi20.py中的connect_kw_args,加入user,passwd,host等参数。并运行测试,如果所有的Test都通过了,就OK了。

Continue

pdo_mysql 有端口连接(非3306端口)和持久连接

 true);
$db = new PDO ('mysql:host=localhost;port=3307;dbname=testdb',$user,$pwd,$opt); 
pdo_mysql 有端口连接(非3306端口)和持久连接

Continue

考试告一段落。。嘎嘎! 2012 我来了!!!

Continue

1.acunetix web vulnerability Scanner 4 简称AC4 2.另外以下一种方式走的通,就不用往下走了 3.个人爱好用Portready,是因为他快速准确,当然你也可以用别的. 4.AC4扫描很耗时间,扫一个网站大约需要3-5个小时,扫整个网段大约需要8个小时左右 方法: 1.X-SCAN扫描目标服务器(一般是没有漏洞,收集信息用吧),看看IIS写权限有漏洞吗,用53溢出或者其他0day和溢出工具试试==& gt;手工查看主站漏洞,先用google+阿d批量扫注入,再手工测试漏洞(例如注入,上传,爆库等等),同时用AC4扫(它在注入方面很细致)==获得 WEBSHELL==提权获得3389 (也许有时候把第3条放在第一条前,更合理一些,直接嗅探方便些)。 2.用http://www.seologs.comip-domains.html将主站列同服务器反解析域名,旁注,==>获得WEBSHELL==>提权获得3389 =======渗透过程(选择比较近的网段,同一个网关才好嗅探啊)========== 3.用IIS写权限测试80,8080端口整个网段,用Portready扫描53主机溢出(或者其他漏洞溢出)==>如果有写权限主机,那 么提权,获得系统权限,如果可以溢出,获得系统权限==>tracert目标主机,是否同一个网关==>得到3389,用CAIN嗅探目标主 机 80,21,3389等==>获得目标WEBSHELL==>提权获得目标主机3389 4.用Portready扫描同网段3389,80,8080,8000满足3389+80,8000,8080条件的服务器,反解析域名,手工测 试漏洞,同时用AC4扫描网站列表==>获得webshell,提权得到系统权限==>tracert目标主机,是否同一个网关==> 得到 3389,用CAIN嗅探目标主机80,21,3389等==>获得WEBSHELL==>提权获得3389。 5.用Portready扫描同网段80,8000,8080(主机,(除去上一条扫到的3389主机列表),反解析IP,生成列表,手工测试每个 网站, 同时用AC4扫描网站列表(如果网站有漏洞,获得WEBSHELL==>提权获得3389==>tracert目标主机,是否同一个网关== >cain嗅探目标主机==>获得目标主机WEBSHELL==>提权获得目标主机3389),同时用x-scan扫描同网段所有主机 (如果有漏洞,提权得到3389==>tracert目标主机,是否同一个网关==>cain嗅探目标主机==>获得目标主机 WEBSHELL==>提权获得目标主机3389) 6.如果以上均没有漏洞,那就选择网段远一点,或者整个网段,返回第3条。 本文摘自网络由网络安全攻防研究室(www.91ri.org) 信息安全小组收集整理.转载本文请著名原文地址及原作者版权信息。

Continue