The Django Book

Django book 2.0 的中文翻译

link:http://djangobook.py3k.cn/2.0/

Tags:

星期日, 5月 23rd, 2010 Web 没有评论

迅速修复nginx fcgi方式配置漏洞

2010年5月20日,80后爆nginx 0day漏洞,上传图片可入侵100万服务器。目前已经有好几个大型互联网公司被入侵了,公司类型包括电子商务、游戏、SNS等。

现在看来,这个漏洞不属于Nginx的漏洞. 是配置的问题, 现在到处都在说是Nginx的Bug,关闭fix_pathinfo(默认是开启的).就可以解决

临时修复方法如下,可3选其一。

1、设置php.ini的cgi.fix_pathinfo为0,重启php。最方便,但修改设置的影响需要自己评估。

2、给nginx的vhost配置添加如下内容,重启nginx。vhost较少的情况下也很方便。

if ( $fastcgi_script_name ~ \..*\/.*php ) {
return 403;
}

3、禁止上传目录解释PHP程序。不需要动webserver,如果vhost和服务器较多,短期内难度急剧上升;建议在vhost和服务器较少的情况下采用。

› Continue reading

Tags: ,

星期五, 5月 21st, 2010 服务器 没有评论

初学python的Web框架Django-模板

修改django的url规则和模板的基本操作
We’ll just have to take a few steps to make the conversion. We will:

1. Convert the URLconf.
2. Rename a few templates.
3. Delete some of the old, unneeded views.
4. Fix up URL handling for the new views.

› Continue reading

Tags: , ,

星期四, 5月 20th, 2010 Web 一条评论

初学python的Web框架Django之二-后台管理

一 激活管理界面 Activate the admin site
1 Add “django.contrib.admin” to your INSTALLED_APPS setting.
2 Run python manage.py syncdb. Since you have added a new application to INSTALLED_APPS, the database tables need to be updated.
3 Edit your mysite/urls.py file and uncomment the lines that reference the admin – there are three lines in total to uncomment. This file is a URLconf; we’ll dig into URLconfs in the next tutorial. For now, all you need to know is that it maps URL roots to applications. In the end, you should have a urls.py file that looks like this:
› Continue reading

Tags: ,

星期四, 5月 20th, 2010 Web 没有评论

初学python的Web框架Django

1下载

bear@njava:~$wget http://www.djangoproject.com/download/1.2/tarball/
bear@njava:~$tar -xzvf Django-1.2.tar.gz
bear@njava:~$cd Django-1.2/
bear@njava:~$sudo python setup.py install

2 新建django项目

bear@njava:~$ django-admin.py startproject njava
bear@njava:~$cd njava
bear@njava:~$ls
total 20K
drwxr-xr-x 2 bear bear 4.0K 2010-05-19 23:27 .
drwxr-xr-x 4 bear bear 4.0K 2010-05-19 23:27 ..
-rw-r--r-- 1 bear bear    0 2010-05-19 23:27 __init__.py
-rw-r--r-- 1 bear bear  546 2010-05-19 23:27 manage.py
-rw-r--r-- 1 bear bear 3.3K 2010-05-19 23:27 settings.py
-rw-r--r-- 1 bear bear  534 2010-05-19 23:27 urls.py
bear@njava:~$python manage.py runserver 0.0.0.0:8000

› Continue reading

Tags: ,

星期四, 5月 20th, 2010 Web 没有评论

ubuntu上用gitosis来管理 git服务

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的分布式版本控制软件(Distributed SCM)。Git 汲取了 Torvalds 在维护大型的分布式项目开发方面的经验和对文件系统性能的丰富知识,正如其文档所描述的,“是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问。”目前,Linux 内核、X.org 服务器和 Ruby on Rails 等开源项目的版本控制系统都已经切换到 Git。

Gitosis 是 Tommi Virtanen 为了更方便和安全的辅助 Git 架设和管理软件版本库 (Software Repository) 而开发的工具软件。虽然 Git 本身也提供 git-daemon 以架设版本库,但在用户访问控制上做的并不严格。而 Gitosis 允许单个用户帐号管理多个版本库,使用 SSH keys 管理用户认证,不需要 shell 帐号就可以解决多用户访问集中版本库的问题。

› Continue reading

Tags: , ,

星期五, 5月 14th, 2010 工具 没有评论

WordPress的四种远程XML-RPC发布协议

WordPress支持四种远程发布协议,他们是 WordPress,Movable Type,MetaWeblog和Blogger 的 XML-RPC发布协议。

WordPress发布协议

WordPress 发布协议值wordpress自己的文章发布协议,他的接口最为丰富,提供了包括操作评论文章在内的各种各样的支持

WordPress发布协议文档:http://codex.wordpress.org/XML-RPC_wp

Movable Type发布协议

Movable Type,简称MT,是由位于美国加州的Six Apart公司推出的网志(blog)发布系统。它是全球最受欢迎的网志系统之一,包含多用户,评论,引用(TrackBack),主题等功能,并广泛的支持各种第三方插件。

Movable Type不仅可以应用于个人的网志系统,而且可以应用于商业、教育等领域。Movable Type于2007年12月12日正式宣布以GPLv2的协议开源。

Movable Type发布协议文档:http://www.movabletype.org/documentation/

Movable Type 文件集:  http://mtbook.org/

› Continue reading

Tags: , ,

星期一, 5月 10th, 2010 Web 没有评论

把页面分享到开心网,人人网,新浪围脖,QQ书签,百度搜藏

现在web2.0时代,把帖子分享到国内比较火的sns社区获取可以获得更多的人气回报,下面的代码将分享当前页面到开心网 kaixin001.com ,人人网 renren.com ,新浪微博 t.sina.com.cn
代码如下

CSS样式

       #snsshare a {
          color: #000000;
          text-decoration: none;
          font-size: 12px;
          font-weight: normal
      }

      #snsshare span {
          padding: 5px 5px 0px 5px;
          font-size: 12px;
          margin: 0 0 0 10px;
          cursor: pointer;
      }

      #snsshare img {
          border: 0px;
      }

javascript 代码

 
               function share(s) {
                    if (s == 0) {
                        window.open('http://v.t.sina.com.cn/share/share.php?title=' + encodeURIComponent(document.title.substring(0, 76)) + '&url=' + encodeURIComponent(location.href) + '&rcontent=', '_blank', 'scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes');
                    } else if (s == 1) {
                        window.open('http://www.kaixin001.com/repaste/share.php?rtitle=' + encodeURIComponent(document.title.substring(0, 76)) + '&rurl=' + encodeURIComponent(location.href) + '&rcontent=', '_blank', 'scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes');
                    } else if (s == 2) {
                        window.open('http://share.renren.com/share/buttonshare.do?title=' + encodeURIComponent(document.title.substring(0, 76)) + '&link=' + encodeURIComponent(location.href) + '&content=', '_blank', 'scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes');
                    } else if (s == 3) {
                        window.open('http://shuqian.qq.com/post?from=3&title=' +
                                encodeURIComponent(document.title) + '&uri=' +
                                encodeURIComponent(document.location.href) +
                                '&jumpback=2&noui=1',
                                'favit',
                                'width=930,height=470,left=50,top=50,
toolbar=no,menubar=no,location=no,
scrollbars=yes,status=no,resizable=yes');
                    } else if (s == 4) {
                        window.open('http://cang.baidu.com/do/add?it=' +
                                encodeURIComponent(document.title.substring(0, 76)) + '&iu=' +
                                encodeURIComponent(location.href) +
                                '&fr=ien#nw=1', '_blank', 'scrollbars=no,width=600,height=450,left=75,top=20,status=no,resizable=yes');
                    }
                }

HTML代码

<div id="snsshare">
<a href="javascript:share(0);" >
<span>
<img alt="转发到新浪微博" src="http://t.sina.com.cn/favicon.ico" align="absMiddle" > 转发到新浪微博</span>
</a>
<a href="javascript:share(1)" >
<span>
<img alt="转帖到开心网" src="http://img1.kaixin001.com.cn/i/favicon.ico" align="absMiddle" > 转帖到开心网
</span>
</a>

<a href="javascript:share(2)" >
<span>
<img alt="转帖到人人网" src="http://s.xnimg.cn/favicon-rr.ico" align="absMiddle" > 转帖到人人网
</span>
</a>

<a href="javascript:share(3)" ><span><img alt="收藏到QQ书签" src="http://www.qq.com/favicon.ico" align="absMiddle" > 收藏到QQ书签</span></a>
<a href="javascript:share(4)" ><span><img alt="添加到百度收藏" src="http://www.baidu.com/favicon.ico" align="absMiddle" > 添加到百度收藏</span></a>
</div>

Tags: , , , ,

星期四, 5月 6th, 2010 Web 没有评论

使用DDoS deflate防御DDos攻击

1 命令行判断连接服务器客户端IP的连接数

bear@njava:~$ netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

2 安装medialayer给我们带来的防止ddos攻击的免费软件DDoS deflate
地址 :http://deflate.medialayer.com/

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.

Installation

bear@njava:~$wget http://www.inetbase.com/scripts/ddos/install.sh

bear@njava:~$chmod 0700 install.sh

bear@njava:~$./install.sh

Uninstalling

bear@njava:~$wget http://www.inetbase.com/scripts/ddos/uninstall.ddos

bear@njava:~$chmod 0700 uninstall.ddos

bear@njava:~$./uninstall.ddos

Version 0.6 | Change Log

whitelisting possible by adding IPs in /usr/local/ddos/ignore.ip.list

it uses this file to avoid banning the ip again (it was handling this differently and was a bit slower too)

Tags:

星期三, 5月 5th, 2010 工具, 服务器 没有评论

Google PR值预测

推荐一个Google PR值预测的网站   http://link.ezer.com/tools/pagerank_prediction_tool_code.asp

Tags: ,

星期三, 5月 5th, 2010 工具 没有评论
Pages: Prev 1 2 3 4 5 6 7 8 9 10 ... 13 14 15 Next
1LMooBmUE153Wnd3zDryWvDyXxQudbFxDr