存档

文章标签 ‘php’

vim使用tab补全php函数

2010年1月21日 没有评论

来自网络:

1,下载php函数列表。进入funclist.txt下载并把文件放入vim目录。

2,设置vimrc
阅读全文…

鞋衫各式名品专卖

收藏与分享
分类: vim 标签: , ,

重燃你的PHP安全之火

2010年1月11日 3 条评论

  关于脚本安全这个话题好像永远没完没了,如果你经常到国外的各种各样的bugtraq上,你会发现有一半以上都和脚本相关,诸如SQL injection,XSS,Path Disclosure,Remote commands execution这样的字眼比比皆是,我们看了之后的用途难道仅仅是抓肉鸡?对于我们想做web安全的人来说,最好就是拿来学习,可是万物抓根源,我们要的不是鱼而是渔。在国内,各种各样的php程序1.0版,2.0版像雨后春笋一样的冒出来,可是,大家关注的都是一些著名的cms,论坛,blog程序,很少的人在对那些不出名的程序做安全检测,对于越来越多的php程序员和站长来说,除了依靠服务器的堡垒设置外,php程序本身的安全多少你总得懂点吧。

  有人说你们做php安全无非就是搞搞注入和跨站什么什么的,大错特错,如果这样的话,一个magic_quotes_gpc或者服务器里的一些安全设置就让我们全没活路了。我今天要说的不是注入,不是跨站,而是存在于php程序中的一些安全细节问题。OK!切入正题。

  注意一些函数的过滤
  有些函数在程序中是经常使用的,像include(),require(),fopen(),fwrite(),readfile(),unlink(),eval()以及它们的变体函数等等。这些函数都很实用,实用并不代表让你多省心,你还得为它们多费点心。

  1、include(),require()和fopen(),include_once(),require_once()这些都可以远程调用文件,对于它们的危害,google搜一下你就会很明了,对于所包含调用的变量没过滤好,就可以任意包含文件从而去执行。举个例子,看print.php

  以下为引用的内容:

  …

  if (empty ($bn) ) { //检查是变量$bn是否为空

  include (“$cfg_dir/site_$.php”); //把$cfg_dir这个路径里的site_$.php包含进来

  …
阅读全文…

收藏与分享
分类: HTTP, Linux web, php 标签: , , , ,

Benchmarking PHP accelerators

2009年12月22日 没有评论

How does an accelerator works ?

Executing a PHP scripts takes a few steps :

  1. PHP loads the file,
  2. it parses the source file, and transforms it into opcodes (code that can be executed by the server),
  3. it executes the opcodes.

The accelerator takes the opcodes from step 2 and caches them in shared memory or on disk. Those cached opcodes are then directly reused the next time the PHP file is executed, without loading & parsing the file again.

Some accelerators add an optimization step which removes unnecessary code (empty loops, unused variables, …). In most cases, this optimisation step does not improve performance much.

Available accelerators

There are 3 accelerators (at last 3 that are stable, maintained and fast) :

阅读全文…

简单生活。简单运动

收藏与分享
分类: Apache, php 标签: , , ,

使用memcached做数据库点击数统计缓冲

2009年12月18日 2 条评论

原理:

  1. 先从数据库读取最新的点击数,更新到缓存中。
  2. 点击动作产生时,在缓冲做自增操作。
  3. 把被点击的ID写入缓存中,以表名为组。表明缓存中有该ID的点击数,需要进行入库操作。
  4. 定时更新缓存数据到数据库。
  5. 如发现入库周期内,点击数无更新,则放弃入库,并山删除表名组中的ID。

阅读全文…

收藏与分享
分类: Apache, memcache, php 标签: , , ,

[转] memcache分析调试 – [php]

2009年9月29日 没有评论

1.关于本文档
本文档所有的分析都是在1.2版本之上,偶尔会提到比较1.1版本.其他版本没有阅读.
一个星期时间的工作,不可能对memcache有很深刻的分析.文档本身的目的在于为以后的研究准备一个总结资料.刚接触memcache时,对其设计分布式的思路感到十分欣喜,因为在中间层以极小的代价实现简单分布式无疑成为一些要求不是很高的分布式应用的一个很好的设计思路,这个特性决定memcache本身在分布式应用中,单个结点之间是Server相互独立,不会存在同级之间的通信.一个结点拒绝访问,如果没有相应的冗余策略,将导致该结点的数据丢失.同时,memcache的Server结点对数据的存储操作都是在内存中完成,而memcache对内存分配和回收采用了曾在SunOS实现的分页机制,预分配一个大内存(默认是 < = 200M),然后分页切块,对每个数据对象的存储便在所切的块中进行操作.这个特点决定memcache没有设计到任何磁盘IO操作,那么所有的关于memcache的性能瓶颈都在网络通信部分,而memcache正是将这一部分抛给了一个中间层完成.可以说真正的memcache是一个单进程,单线程,监听某个网络端口的daemon(或非daemon),是一个轻量级的应用服务进程.这些特性决定了memcache的应用范围,性能瓶颈和优化策略.
阅读全文…

收藏与分享
分类: databases, DBM 标签: , , , ,

{原创}nginx错误排查不断更新ing

2009年5月27日 3 条评论

DEBUG NO01:
背景:
服务器环境:
nginx 0.7.52
php 5.2.8
mysql 5.1.32
gcc gcc4
linux X86
阅读全文…

收藏与分享

nginx 7稳定版发布

2009年5月26日 没有评论

做反向代理的时候加入了cache功能,”caching of proxied and fcgi server “,不知道效果如何,sina搞的ncache用起来太麻烦,还得64位系统。lighttpd的mod_cache竟然连PHP也给cache了-_-,要好好试下nginx 7的cache功能。
下载地址:http://sysoev.ru/nginx/nginx-0.7.59.tar.gz

Changes with nginx 0.7.59 25 May 2009

*) Feature: the “proxy_cache_methods” and “fastcgi_cache_methods”
directives.
阅读全文…

收藏与分享
分类: Linux web 标签: , , , , , , ,

如何用php作Linux自动执行脚本?

2007年11月24日 没有评论

最近急需这种方法,记录一下,明天上班时候尝试^^

在  linux下,可以使用crontab  +  php的方法:

1、使用crontab  –e编辑定时任务

内容为:

xx:xx:xx  执行一个test.php文件

2、php文件必须在文件头一行,加上解释器路径(就象perl做的那样)

#!/usr/local/bin/php

阅读全文…

收藏与分享
分类: Apache 标签: , , ,

看了一篇好文章,拿来分享。

2007年11月12日 没有评论

内容摘要:

Apache是一个历史悠久并且功能十分强大的WEB服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。我个人感觉Apache的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。安装的过程可以从简单的静态html服务开始,一个模块一个模块的学习使用。从单纯的HTML静态服务(core),到复杂的动态页面服务(core + php, core + resin, core + php + mod_gzip, core + resin + mod_expire)。
阅读全文…

收藏与分享

PHP+GD的安装

2007年10月10日 没有评论

一、下载

gd-2.0.33.tar.gz http://www.boutell.com/gd/

jpegsrc.v6b.tar.gz http://www.ijg.org/

libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/

zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/

freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/

php-4.3.9.tar.gz http://www.php.net

二、说明

最新的GD库包括了对GIF的支持,所以不要打GIF补丁
阅读全文…

收藏与分享
分类: Linux web 标签: , , ,