2008年11月24日星期一

有效防御PHP木马攻击的技巧

1、防止跳出web目录

  首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:

  php_admin_value open_basedir /usr/local/apache

  /htdocs

  这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:

  Warning: open_basedir restriction in effect. File is in wrong directory in

  /usr/local/apache/htdocs/open.php on line 4

  等等。

  2、防止php木马执行webshell

  打开safe_mode,

  在,php.ini中设置

  disable_functions= passthru,exec,shell_exec,system

  二者选一即可,也可都选

  3、防止php木马读写文件目录

  在php.ini中的

  disable_functions= passthru,exec,shell_exec,system

  后面加上php处理文件的函数

  主要有

  fopen,mkdir,rmdir,chmod,unlink,dir

  fopen,fread,fclose,fwrite,file_exists

  closedir,is_dir,readdir.opendir

  fileperms.copy,unlink,delfile

  即成为

  disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir

  ,fopen,fread,fclose,fwrite,file_exists

  ,closedir,is_dir,readdir.opendir

  ,fileperms.copy,unlink,delfile

  ok,大功告成,php木马拿我们没辙了,遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。

  如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧。

  net user apache fuckmicrosoft /add

  net localgroup users apache /del

  ok.我们建立了一个不属于任何组的用户apche。

  我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on,选择this account,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了。

  实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户。这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。

2008年11月20日星期四

感慨啊.

今天看到了一个同龄人的博客,很忌妒..那是从来没有的忌妒.也许别人说的人比人气死人,说得没错.一直以来,我认为我自己可以差强人意的过.但是遇到了他,好羡慕啊..难以抑止.

2008年11月19日星期三

一些设计网站

北京灵智 http://www.smart-rise.com 国内优秀的设计欣赏类网站,一家集品牌策划、平面设计、互动设计、产品形象包装设计、印刷制作为一体的专业化广告设计公司。

DEDS深度 http://www.deds.cn 资源专业丰富.版面大气.包括 平面 网页 三维 工业 动漫 摄影 综合 论坛等内容.

亚洲ci网 http://www.asiaci.com/index.php 国内高质量的平面原创论坛

我爱设计网 http://www.52design.com 海量素材. 包括 设计 素材 资源 酷站

蓝色理想 http://www.blueidea.com 程序员之家,这个就不说了.

中国设计之窗 http://www.333cn.com 国内老牌设计网站

北京设计网 http://www.010design.com.cn 北京地区权威设计门户网站

设计联盟 http://www.chinadu.cn 设计资讯门户,改版之后更专业.

视觉同盟 http://www.visionunion.com 中国设计专业网络媒体 包括 平面 工业 多媒体 等....

中国艺术设计联盟 http://www.arting365.com 创意产业门户.内容丰富

中国UI设计网 http://www.chinaui.com 国内优秀UI网站 火

星时代动画网 http://www.hxsd.com.cn 专业CG类站点

视觉中国 http://www.chinavisual.com 国内老牌创意产业门户网站

中国设计竞赛网 http://www.designcom.cn 设计比赛专业门户网站,内容丰富

NWP http://www.newwebpick.com 优秀视觉图形类网站, Newwebpick电子杂志就不用多说了.

中国包装设计欣赏网 http://www.bzsj123.com.cn 包装设计欣赏网

数码艺术 http://www.computerarts.com.cn 数码艺术杂志就是这里.

设计艺术家 http://www.chda.net 湖南设计艺术家网

中国标志设计欣赏网 http://www.logo35.cn 老牌标志设计类网站

设计中国 http://www.chinaddu.com 以前叫中国PHOTOSHOP联盟,内容丰富

中国设计在线 http://www.oado.com 内容包括平面 网页等...

中国设计网 http://www.cndgn.com 内容包括 包装 平面 工业 建筑 创意等...

七色鸟 http://www.colorbird.com 艺术设计信息网站

鲜创意 http://www.xianidea.com 广告 设计 传媒 数字 建筑等....

DDC传媒 http://www.ddc.com.cn 中国数字艺术联盟 内容包括 设计 插画 动漫 资讯 教育认证等...

V6DP http://www.v6dp.com 优秀数字艺术类论坛,高手众多.

艺术中国网 http://www.artcn.cn/ 综合类资讯网站

视觉联盟 http://www.okvi.com 资讯类设计站点

非视觉 http://www.feiv.com 中国视觉欣赏门户

CGren技术交流论坛 http://cgren.net CG交流论坛

中国包装设计网 http://www.chndesign.net 名字就说明了一切.

中国美术家协会 http://www.caan.cn 中国美术家协会唯一官方网站

视觉资讯 http://www.vi21.cn 新鲜视觉新鲜人

国际设计网CCII http://www.ccii.com.cn

设计路上 http://www.sj63.com 酷站资源 包括论坛

中国pop艺术网 http://www.popart.cn/ 故明思意.POP艺术

中国设计视觉 http://www.86dv.com 内容众多,包括平面 包装 广告竞赛等.

图像谷 http://www.pstxg.com 包括 平面 网页 包装 工业等内容

设计酷 http://www.designcool.net 教程类站点.

异域设计 http://www.yy-s.com 内容丰富 涉汲 教程 平面 网页 动画 酷站等...

设计艺术网 http://www.id00.com 工业设计艺术资讯类站点

先锋设计联盟 http://www.designxf.com 教程 网页 编程 模板

网页设计师联盟 http://www.68design.net 名字说明一切

第一秀 http://www.ike.net.cn 网页设计师交流平台

FM http://www.fmplay.com FM品牌设计

虚拟无忌 http://www.86vr.com 中国虚拟现实门户站点 三维.

哈弗设计 http://design.icxo.com 平面设计类站点

妙联互妙 http://www.minethink.com 网站建设 域名 平面 推广 专业设计服务

天极设计在线 http://art.yesky.com/ 天极网下设计频道

网易学院 http://tech.163.com/cg 网易下设计频道

流行 印象 http://www.vogim.com/ 资讯 教程 摄影 论坛等..

AD100快乐分享 http://www.ad110.com/ 平面 广告 协会 教育等...

世界CI网 http://www.wci.cn/ 平面设计站点

黑白红 http://www.heibaihong.com.cn 设计欣赏和学习平台内容包括 资讯 招聘 平面 CG 多媒体等..

设计·中国 http://www.design.cn 包括 教程 论坛 书刊 培训

UI界面设计门户 http://www.uitimes.com/ 名字说明一切

2008年11月18日星期二

CSS的一些小问题

CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点。

  常见兼容问题:

  1.DOCTYPE 影响 CSS 处理

  2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行

  3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中

  4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width

  5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式

  6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了缺点是要控制内容不要换行

  7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以

  8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。

  9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:
div{margin:30px!important;margin:28px;}
  注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:
div{maring:30px;margin:28px}
  重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;

  10.IE5 和IE6的BOX解释不一致
  IE5下
div{width:300px;margin:0 10px 0 10px;}
  div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改
div{width:300px!important;width /**/:340px;margin:0 10px 0 10px}
  关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)

  11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义
ul{margin:0;padding:0;}

  就能解决大部分问题

  注意事项:

  1、float的div一定要闭合。

  例如:(其中floatA、floatB的属性已经设置为float:left;)
<#div id=\"floatA\" >
<#div id=\"floatB\" >
<#div id=\"NOTfloatC\" >

  这里的NOTfloatC并不希望继续平移,而是希望往下排。
  这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。
  在
<#div class=\"floatB\">
<#div class=\"NOTfloatC\">

  之间加上
<#div class=\"clear\">

  这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。
  并且将clear这种样式定义为为如下即可:
.clear{
clear:both;}

  此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden;
  当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
  例如某一个wrapper如下定义:
.colwrapper{
overflow:hidden;
zoom:1;
margin:5px auto;}


  2、margin加倍的问题。

  设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
  解决方案是在这个div里面加上display:inline;
例如:
<#div id=\"imfloat\">


  相应的css为
#IamFloat{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/}


  3、关于容器的包涵关系

  很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。在IE中,外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。

  4、关于高度的问题

  如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。(似乎有时候不会自动往下撑开,不知道具体怎么回事)

  5、最狠的手段 - !important;

  如果实在没有办法解决一些细节问题,可以用这个方法.FF对于\"!important\"会自动优先解析,然而IE则会忽略.如下
.tabd1{
background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style. for FF*/
background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style. for IE */}

  值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过

QUERY STRUCTURE FOR SEARCHING GOOGLE | 简单SEO

QUERY STRUCTURE FOR SEARCHING GOOGLE FOR MUSIC AND MOVIES

Music -inurl:htm -inurl:html intitle:”index of” mp3 “Artist Name”
Movies -inurl:htm -inurl:html -inurl:php intitle:”index of” (mpg|mov|avi|wmv) “Movie Name”
Where Artist Name and Movie Name are replaced with the artist or movie you wish to find file directories for.

2008年11月13日星期四

扩展jQuery跨域加载js文件

众所周知ajax中的同源策略,不能够向其他主机发送ajax请求,在jQuery中提供了一个getScript()方法,可以获取远程js文件,并执行,但这一功能也具有同源性.由于前段时间工作需要访问其他服务器上的一个js文件中的数据,对该函数进行了一个扩展,希望能对使用jQuery的朋友有所帮助,代码如下://扩展jQuery加载跨域名js脚本
jQuery.extend(
{
/**
* @brief: 加载跨域名js脚本
* @param: 脚本URL
* @param: 加载完毕回调函数
*/
getScriptEx : function (jsurl, fCallback, fError)
{
var BROWSER_IE = window.navigator.userAgent.indexOf(\"MSIE\") != -1;
var SCRIPT_TIMEOUT = 20000;

if (typeof(fCallback) != \"function\") fCallback = new Function();
if (typeof(fError) != \"function\") fError = new Function();

var oScriptEl, oTimeoutHDL, oHead;
try
{
oScriptEl = document.createElement(\"script\");
oScriptEl.type = \"text/javascript\";
oScriptEl.language = \"javascript\";
oScriptEl.src = jsurl + \"?\" + Math.random();
oScriptEl.onreadystatechange = doCallback;

if (BROWSER_IE)
{
oScriptEl.onload = function()
{
this.readyState = \"complete\";
doCallback();
};
};

oTimeoutHDL = window.setTimeout(doError, SCRIPT_TIMEOUT);
document.getElementsByTagName(\"head\")[0].appendChild(oScriptEl);

}
catch(error)
{}

function doCallback()
{
try
{
if (oScriptEl.readyState == \"complete\" || oScriptEl.readyState == \"loaded\")
{
oScriptEl.onload = oScriptEl.onreadystatechange = new Function();
fCallback();
window.clearTimeout(oTimeoutHDL);
oScriptEl.parentNode.removeChild(oScriptEl);
}
}
catch(error)
{}
};

function doError()
{
try
{
oScriptEl.parentNode.removeChild(oScriptEl);
}
catch(error)
{}
};
}
}

2008年11月11日星期二

frame自适应高度

2008年11月9日星期日

加速工具软件&总结 - 代码仓库 - CSDNBlog

以上我们都是利用优化代码的方法对程序进行提速,接着我们要关注一下PHP加速的另一个领域—缓存工具软件。这类软件都是从优化PHP运行环境来提速的,不需要改变任何代码。我们可以大概地将它们称为“执行码优化/缓存工具”,你可以理解为它们用来实现比较底层的优化/缓存。

以下列出目前比较常用的此类工具,具体哪种效果最好,请用自己的服务器环境测试:

(一)APC Alternative PHP Cache

http://pecl.php.net/package-info.php?package=APC

APC运行于Linux和FreeBSD,你需要自己编译安装。按照其开发人员的说法,在他们的测试环境下可以提高脚本速度50%-400%。并且APC是个开源项目,已经加入了PHP的PECL库,很值得一试。

(二)Turck MMCache
http://turck-mmcache.sourceforge.net/

Turck MMCache似乎是此类软件中目前最受欢迎的一种,它开放源代码,完全免费。它将PHP代码预编译并缓存起来,同时也对PHP运行环境进行一定优化。按照其官方文档的说法,MMCache可以明显地减轻服务器的负载,并提高脚本执行速度1-10倍。

MMCache与另一个知名的加速软件Zend Optimizer兼容,但注重必需先安装MMCache(php.ini中设置)。除了加快PHP程序的速度,MMCache还可以将PHP代码加密。

Turck MMCache同时支持Linux和Win32平台。

(三)PHPA the PHP Accelerator

http://www.php-accelerator

  PHPA又是另一个流行的PHP加速软件。在其官方网站上有分别使用PHPA与APC、Zend Cache的PHP脚本执行测试对比,其表现略优于APC,略逊于Zend Cache。

PHPA支持Linux, FreeBSD, OpenBSD, BSDi和Solaris系统.

(四)Zend Performance Suite

http://www.zend.com/

Zend Performance Suite是老牌的PHP加速/优化软件,依托于PHP领域最知名的Zend公司。目前已经推出4.0版本,它可以为PHP应用提供程序加速,内容缓存,文件压缩,下载服务等,功能十分强大,获得好几个PHP杂志的推荐奖—但是不得不提起,它也很昂贵,目前的价格是1875美元。

以上几种加速软件,希望读者按照服务器环境自行测试并选择其中最适用的,因为我没有办法提供一个普遍适用的测试标准来判定哪种方案是最有效的。综合起来看,我个人认为Turck MMCache是个值得推荐的选择,免费而且功能相当出色。

2008年11月6日星期四

SEO页面具体做法的总结

我觉得作为站长大家都或多或少对SEO有些了解,现在seo文章也很多,但是对具体的SEO的方法介绍的文章却不多,本文主要对页面怎么具体做SEO做些介绍,站长尤其是新站长一定要看一下怎么具体的作页面的SEO,强调一下,这些SEO的做法不可同时用到你的网站,否则一定会被K的,本人能力也有限,主要目的在于交流,有问题大家可以发信给我好了,好了,现在有关SEO的具体做法都给大家一一呈现:

  (1)域名和Url的做法

  a.域名最好能包含你的网站的英文关键字。比如说,你的网站做movie的,就找类似moviewang.com的域名。

  b.Url不要太长。Url跟目录结构是关系比较紧密的,所以目录结构一定要控制在4层以内。

  c.Url要用静态化Url,要不然就用伪静态。就是说最好要用.html或者htm,最次也要用像新世纪文学网http://www.3100book.com那样的showtopic-2-4.aspx这样的Url。

  d.Url最好可以包含该页面的关键字。比如说,一个页面是关于SEO的,如果这个页面的文件名是seo.htm就比较好。还有seo-test.htm比seo_test.htm要好。

  (2)页面整体的做法

  a.页面要用div+css来做。当打开一个页面的时候,div是一层一层的显示,不像table要整个页面都下载下来了才给用户显示,div给用户的感觉比较好,另外,搜索引擎也比较喜欢div这种做法。

  b.页面的结构比较清晰,能让用户很快找到自己想要的东西,用户从网站的任何地方回到首页点击不要超过四次。

  c.整个网站最好用一个css和js。另外,js最好放到页面的最底部。

  d.首页的导出链接最好控制在10个以内。

  (3)关键字的做法

  a.关键字的选取。这是一个比较繁琐的过程,比较简单的做法是可以用WordTracker之类的工具找出比较效能好的关键字,选出2,3个,最好用那些扩展关键字,比如说你想用“交友”作为网站核心内容,你可以用“北京交友”或者“qq交友”之类的关键词,这样的竞争比较小。

  b.关键字的密度。有了关键字,就要优化了,页面的关键字密度在2%-7%比较合适。

  c.具体放关键字的位置。页面顶部,页面左侧,标题还有正文的前200个字是放关键字的重点部位。这些位置是搜索引擎认为比较关键的部位。

  d.关键字的修饰。如何让搜索引擎认为某个词是我们的关键词?我们可以给这个词加

  b,strong,hx标签,还可以给它加上链接。

  (4) 网站内容的做法

  a.首页的做法。页面的第一屏的左边,中间,标题这些地方最好能够包含的你的网站的主关键字,一定要巧妙,不要让人看出来。对了,链接到首页的下一级链接里面最好加入你的网站的次关键字。

  b.列表页的做法。标题里面最好10个里面就有1-2包含你的主关键字,在有1-2个包含你的次关键字。

  c.最终页的优化。标题可以用h1,另外,内容的前200个字里面最好可以很巧妙的包含这篇文章的核心关键字。有可能给关键字加个粗。当然,不要篇篇都这样做,否则,搜索引擎会不高兴的,你的小站也就危险了。

  (5)导航栏的做法

  a.导航不要用flash和javascript来做。导航是搜索引擎比较看重的地方,如果用flash和javascript可以让搜索引擎把导航给忽略了。

  b.导航可以用b或者hx来标明一下它的重要性。

  c.导航要有意识的体现关键字。

  (6)title和description的做法

  a.title和description还有keywords一定要考虑到包含关键字。简单明确就好,要阅读流畅,千万不要堆叠关键字,百度最讨厌这个了。

  b.title的写法很讲究。首页的写法:网站名-简单介绍网站的一句话,下一级的分类的写法:分类名_网站名,最终内容页的写法:文章名_分类名_网站名,具体的可以看新世纪文学网http://www.3100book.com的写法。

  c.title和description还有keywords最好每页都不同,搜索引擎比较喜欢新鲜的东西,用程序实现title和description每页都不同比较好实现,title就取文章名字,description就去文章的前多少个字,keywords比较麻烦,要用分词程序来实现。

  (7)图片的做法

  a.图片一定要加alt标签。搜索引擎从alt才能知道图片展示的是什么东西。

  b.图片周围内容应该加些关键字的链接。这主要是因为搜索引擎认为图片周围比较重要。

  c.图片的一定不要太大,但是要清晰。

  说了这么多,具体讲了一些seo的做法,但是千万千万记住一点,上面的方法仅供参考, 千万不要全部都用,否则一定会被搜索引擎K掉的。大家切记!