本文尝试用来测试SEO,顺便抒发一下我那可怜的感慨之情。
vmware server,这个很多人都了解,它是虚拟机服务器,用来为HOST提供更多的选择,比如我们的HOST是xp,那么我们如果要学习Linux,但是对它又不太了解,如果直接安装双系统,或许反而会影响了正常使用。万一引导出了点问题那可能是一个系统也启动不了。
于是虚拟机就成了我们最好的选择,在虚拟机里我们可以尝试做任何操作,而不用担心HOST会被损坏。一般常见的就是vmware和virtualbox了。但是在这里我不谈virtualbox,只是针对vmware做一点说明吧。
可能大多数人用vmware的时候都是用的professional版,这个版本对于大多数人来已经足够了。不过我要说的是vmware server。因为它可以当成服务启动,也就是说,你可以不用手动启动vmware,嗯。这是我最喜欢做的。因为我把ubuntu装在虚拟机里启动了。然后运行了samba程序,共享了一个目录出来,使得我在开发的时候,直接把代码扔到那个目录里而不用担心程序运行环境。
vmware在虚拟机的设置里有一个选项,随HOST启动而启动,随HOST关闭而关闭。这使得我前面所说的一切都成了现实。
但是vmware server会有一点小小的问题,它在非SERVER的操作系统里非常占资源,比如在WIN7中,如果设置开机启动,那么机器居然会卡住 将近一分钟左右,直到虚拟机启动完毕才恢复正常。而且SERVER版操作系统中则一点问题没有。为此,我格掉了我所有现在的系统,換成了2003。
嗯,用到现在,我感觉最爽的系统还是2003和win7。xp什么的都是浮云啊。只是2003会有一个巨大的问题,就是很多软件在安装的时候,都说not support this os 。好郁闷。
顺便说一下,vmware server的下载地址是:http://www.vmware.com/download。再顺便说一下下,现在vmware server居然免费了。只是有另一个重要的问题,那就是,vmware server已经很长时间没更新了。看来,以后是没的用了。所以留了一份1.x版的在电脑里。为什么说是保留1.x呢,是因为2.0开始,控制台是WEB方式了,而不象1.x一样是用客户端来管理。还是不太喜欢WEB方式来进行管理
单独开个题目吧,觉得太小,所以以笔记的形式列出来,这样感觉会比较好一点
1、dedecms相关
dedecms用的人很多,但不限于,我用的还是很少的,所以看到一些东西就认为应该记录下来,比如这个{dede:loop}标签,就是查询后生成一个数组,然后循环。对于简单的数据读取还算是比较方便。当然也有缺点,没看到有缓存生成(我不知道是不是用了tag就自动缓存,不过我想应该不是,生成静态的话就忽略这点问题了吧。)只是现在还不知道如何将页码参数传进去。。。
2、创业
这里并不是说我的创业故事,当然我也有创业的想法,我这里是两个人对于创业的看法,一个是awflasher(http://www.awflasher.com/blog/archives/1829),他说:【借此,我想顺便说一点我的看法:为了让员工的风险降到最低全力工作,创业公司的薪水应该略高于大公司,那些号称是创业阶段要压低薪水或者拖欠薪水的公司, 如果没有股份可以不考虑了(证明管理团队的盈利能力太弱,这种公司风险太大);另外,我认为在中国,真的要慎用“股权”这个概念,这个概念不适用于大多数 人,在我这个行业内,我亲眼目睹了一个例子:有几家公司给出低薪+大量股份,而有一家公司给出高薪,结果后者很快就发展壮大了,而那几家把薪水压低出让股 份的公司几乎都死掉了。】还有一个就是DBA Notes(http://www.dbanotes.net/jobs/Jobs_info.html)上的【从大公司出来,投身创业团队。遇到的最大问题就是招聘问题。创业公司,薪水不可能像上市公司那样大方,公司福利也做不到国企那要啥有啥。好不容易瞄上个技 术差不多的,仔细沟通下来,人家还未必愿意一起来参与创业,更想着找个钱多人傻、事少家近的地方,不能破坏人家美好生活不是。其它包括地域问题的、家庭原 因的... 所以,招聘是个困难活儿,也是个持久战。创业团队,只能慢慢来,只找合适的,找对的。】
总之,创业是一个痛苦的事情。。以前在cnblog上看吉日嘎拉说自己的创业故事,说到创业时觉得要买这个买那个,等到买回来发现,大多数实际上可以不买,反而浪费了自己的精力和钱的时候。就觉得创业真的是需要考虑的事情。
3、php A-Z的循环问题
php的A-Z循环并不和其他程序一样。只是长度为26的循环,相反,PHP follows Perl’s convention when dealing with arithmetic operations on character variables and not C’s. For example, in Perl ‘Z’+1 turns into ‘AA’, while in C ‘Z’+1 turns into ‘[‘ ( ord(‘Z’) == 90, ord(‘[‘) == 91 ). Note that character variables can be incremented but not decremented and even so only plain ASCII characters (a-z and A-Z) are supported.这个信息来自http://www.laruence.com/2010/07/30/1682.html,以前真的一直不知道。或者说没有注意过。
thinkSNS在最近的一段时间开发中,发现了不少BUG。。。没办法,谁让要用他的呢?
1、blog删除后跳转代码为redirect('index'),i应该大写,否则会报页面不存在的错误。
2、一些widget放在<inlucde footer>[<-左侧是伪代码]后面,导致有时候不能解析。好奇怪。。。有时候能够解析。
3、后台权限管理不正常,明明只选了一些简单的权限,但却多了一些不该有的权限。【准备改了,个人站点应该遇不到。毕竟就一个管理员】
4、如果后台把游客查看博客的权限打开,在前台反而会出错,因为博客页有评论,而读取评论列表时需要登录 。
其他一些未知BUG随着开发会越来越多。。有时候发现,thinksns作者是不是有点太粗心了?
不过。期望能够看到小游戏插件。黑黑,对分数排名很喜欢。
本来不想转这个的,因为原文好象不全,但我试着将原文最后一句去掉,好象也能读的通,就先转上来看看了。。。
原文:http://netsecurity.51cto.com/art/200902/112190.htm
IE有一个特性,那就是在将一个文件展示给用户之前会首先检查文件的类型,这乍看起来并没什么问题,但实际上这是相当危险的,因为这会允许IE执行 图片中的代码,即嵌入在一个图像中的JavaScript代码。引入MIME sniffing功能的初衷是用来弥补Web服务器响应一个图像请求时有可能返回错误的内容类型信息这一缺陷。
但是事不遂人愿,心怀不轨的人可以轻易滥用这一特性,如通过精心制作一个图像文件,并在其中嵌入可以被浏览器所展示和执行的HTML和JavaScript代码。本文将深入考察该问题,并为用户和网站开发人员介绍如何降低此问题带来的风险。
一、危险的MIME sniffing功能
对于Web 2.0应用程序来说,允许用户上载图像是一项基本的要求。但是,IE用户面对这些图片时却要小心了,因为IE的某些功能会为利用图片进行跨站点脚本攻击大开方便之门。
虽然许多大型站点都设法保护其访问者免受可能的JavaScript攻击,例如实现专门用于防御活动内容的过滤器等,但是他们却无法跟活动内容一刀 两断,因为对于个人简介、博客和论坛来说,JavaScript、HTML 代码和Flash小应用程序是不可或缺的活动内容。
此外,大部分交互型站点都允许用户上载和链接他们的图片,但是攻击者却可以利用此功能来颠覆IE为保证兼容性和提供额外的安全性而引入的某些功能。 攻击者只需在图像的开头部分嵌入一些HTML代码和JavaScript,那么当IE打开这个做过手脚的图像时,浏览器所做的不是显示图像,而是检测并运 行图像中嵌入的代码。
之所以出现这种情况,是因为浏览器可以用来确定文件类型的方式多种多样,例如文件扩展名jpg可以指出一个图像为JPEG格式,此外Web服务器还 可以在HTTP报头中定义Content-Type(在本例中为image/jpg),但是一般说来使用上载的文件的文件名扩展部分来指出文件的类型。
最后,大多数 Web 浏览器还会检查一个文件的开始几个字节(即通常所说的文件的“签名”),这几个字节通常为一些众所周知的字节序列,例如PNG、PK、JPEG、JFIF等等。
迄今为止,我们介绍了浏览器可以确定文件内容类型的三种方法,即通过文件本身的扩展名或文件开头部分的签名,或通过服务器响应报头Content-Type来确定文件类型。
不过,后来IE4引入了第四种方法,即通常所说的MIME sniffing或者MIME类型检测方法。所以,现在的IE版本都不自动地假定来自web的文件的内容类型就是服务器在HTTP报头中的所声明的内容类 型。IE浏览器既不信任文件名扩展部分,也不信任签名,相反,它是通过检查文件开头的256字节内容来确定文件的类型。
然而,只有当用户直接调用URL下载文件时IE才这样做。当使用IE打开HTML中的图像标签(IMG)所连接的本地存储的文件或者图像的时候,则不会进行嗅探。
IE引入MIME sniffing功能的初衷是用来提防服务器给出的错误内容类型指示的,但是攻击者却利用它来规避IE中的安全防御功能,即防止浏览器自动地执行所下载的文件(如hta文件)的那些功能。
此外,MIME sniffing还使得浏览器能够容忍在Content-Type声明中的偶然性错误,例如,如果服务器声明某文件类型为text/plain文件,然而实际提供的却是一个HTML文件,那么IE将它作为HTML处理。
对于常见的GIF、JPEG和PNG格式,只要文件扩展名、Content-Type和签名所指的类型相一致,那么浏览器就会对MIME sniffing所得到的结果置之不理。只有当文件扩展名、Content-Type和签名所指的类型有出入时,IE才会以MIME sniffing所确定的结果为准。
二、倒打一耙的MIME sniffing功能
现在,如何保护用户免受恶意服务器的侵害与如何为不正确地配置服务器的管理员提供有效帮助已经成为Web 2.0所面临的一大问题。 如果文件的扩展名、Content-Type和签名相抵触,那么浏览器会以内容为准。
所以,如果一幅图片的开头部分为一些HTML代码的话,虽然乍一看好像是无害的,但是实际上却可能相当危险,因为IE会执行图片中的代码。这为攻击 者把JavaScript嵌入图像提高了一个机会,所以他们可以利用这种方式执行跨站点脚本攻击,使用精心制作的图像来窃取受害者在当前访问的服务器上的 身份验证cookie,然后以受害者的身份登录到那个服务器。
三、援兵未至
微软公司已经认识到这个问题,并计划IE的新版本中加以修复。IE8不再探测图像,因此,它会忽略嵌入的HTML。此外,对于特定的下载,还可以通 过为私有的Content-Type以及authoritative指定值来关掉MIME sniffing功能,例如content-type=text/html; authoritative=true;。然后,IE会把文件当作服务器指出的类型来处理。
关键情况下,可以使用新的“X-Download-Options: noopen”头部来确保在站点上下文的外部显示相应的文件,这意味着即使HTML文件也能够安全的投递,因为浏览器只是将文件保存起来而已。遗憾的 是,IE8要想全面替代其他版本的IE尚需时日,在此之前,Web站点对此还是指望不上的。
四、急救措施
实际上,如今想要抵挡这些精心制作的文件也并非难事。自Windows XP SP2以来,用户已能禁用IE中的MIME sniffing功能,方法是打开浏览器的“工具”菜单中选择“Internet 选项”,点击“安全”选项卡,在“请为不同的区域的Web内容指定安全设置(z)”下面选择“Internet”图标,在“该区域的安全级别(L)”下面 点击“自定义级别”按钮,最后启用“基于内容打开文件,而不是文件扩展名”选项即可。然而,这样做会重新开放一些以前的古老漏洞!
这是否能够提供安全性只能够靠实践来证明。我们的重点不应该放在在用户间推广这个技巧,而是应该设法让web服务应用提供安全保障措施来保护访问者,并确保Web服务提供方的系统不向用户传送精心制作的图像。
管理员可以使用脚本检查上传到其服务器中的文件的类型的一致性。举例来说,如果某图像的文件名扩展部分为.jpg,并且文件起始字节部分的签名也指 出是相同的类型(在Linux下可以使用file image.jpg命令,而在PHP中可以使用getimagesize加以印证),经过上述验证后,服务器才能发出该文件。
这样,即使文件包含HTML 代码,IE也不会执行这些代码。然而要注意的是,通过这种方式只能保护图像的安全,同时服务器声明的Content-Type必须完全正确才行。 这个方法对其它格式均不起作用。
然而,要想达到绝对的可靠性,需要检查文件的前256字节是否HTML 代码