CSS 文本强制换行

有时候写前端界面的时候,有些文字内容比较长,我们希望他能自动换行.

比如一个表格里面的内容,本来设置了表格宽度,但是实际有时内容过长,换行就出了问题,有些情况会自动换行,有些时候不会,这样就可能把布局搞乱.

只要在css里面把要强制换行的元素加上

Word-break: break-all;

属性就可以了,比如设定表格宽度后,加上这个属性,那么不管内容是啥,只要超过了宽度就会换行.

PHP 文件保护系统部分代码

上篇文章说的PHP文件保护系统,感觉挺高大上,其实真做起来没什么难度,本文大致上把需要用到的知识和函数说一下,附上部分代码.

为了简单起见,就做了一个简单的例子,仅仅只检测当前脚本目录下的文件.

一.数据库

表名:
protection

字段:
文件名:file  varchar(64),
最后修改时间:  time int(64) ,
初始sha1: sha1 text(32),
当前sha1: now_sha1 text(32),

二.关键代码

1.初始化

if ($handle = opendir('./')) {
	mysql_query('TRUNCATE TABLE protection');
	while (false !== ($file = readdir($handle))) {
		if ($file != "." && $file != "..") {
			if(!mysql_query('insert into protection (file,time,sha1)value(\''.$file.'\',\''.time().'\',\''.sha1_file($file).'\')'))
				die(mysql_error());
			}
		}
	}

2.再次检测文件

if ($handle = opendir('./')) {
	mysql_query('update protection set now_sha1=\'\'');
	while (false !== ($file = readdir($handle))) {
		if ($file != "." && $file != "..") {
			mysql_query('update protection set now_sha1=\''.sha1_file($file).'\' where file =\''.$file.'\'');
			mysql_query('insert into protection (file,now_sha1) value (\''.$file.'\',\''.sha1_file($file).'\')');
			}
		}
	}

3.文件状态判断条件

//首先读取数据库
$result = mysql_query('select * from protection');

//然后依次检测每条数据:
while($row = mysql_fetch_array($result)){
  //检测代码
}

//以下是检测过程中对文件状态的判断条件,具体判断过程可根据自己需要来写.

//新增文件:
$row['sha1']==null && $row['now_sha1'] != null

//删除文件:
$row['sha1']!=null && $row['now_sha1'] == null

//正常文件:
$row['sha1']==$row['now_sha1'] && $row['sha1'] && $row['now_sha1']

//初始化时没有的文件,之前检测存在而现在检测不存在的文件(可能是上传的后门,利用好了后被攻击者删除了)
!$row['sha1'] && !$row['now_sha1']

//其他情况就是被修改过的文件了.

由于我的保护系统对接了其他程序,里面有一些乱七八糟的接口,检测结果的输出方式也很混乱,不方便直接全部贴出来,而且直接贴出来这么凌乱的代码估计新手也看不大明白,要是有空,我把代码整理一下在上传好了,要是有什么疑问,可以留言.

PHP 文件保护系统

近期虚拟主机莫名其妙被攻击,持续每秒几十次访问搞了几天,后台错误日志又发现wordpress程序似乎有代码进入了死循环,最后不出预料的服务器被主机提供商暂停了,原因自然是大量占用服务器资源.

外部攻击除了屏蔽ip,也没有太好的方法,不过内部问题倒是要想办法做做,出了这么大问题,也怕是有人发现了wordpress漏洞攻击了,总担心站点文件被修改,怕上传了后门,干脆清空了主机,重新安装了wordpress.真是逼死强迫症…

然后就想,以后再出事怎么搞,总不能出问题就重装wordpress,于是考虑做一个文件保护系统,基本原理就是记录文件修改时间和文件md5值来检测服务器文件有没有被修改.

项目详细实现:

1.保护系统初始化时,开始检测所有已存在文件的修改时间和md5值,把文件名-修改时间-md5存到数据库.

2.每次打开网站,指定一个周期,再次检测所有文件,对比数据库,列出被修改,删除,新增的文件.

3.部分缓存文件经常变动,需要单独列出来.

4.检测结果发现异常后,标识出异常文件,确认无威胁或以解决问题后,可以重新初始化系统.

更进一步开发:

5.计划任务,让该系统后台间隔一定时间后自动执行,并把检测结果发送到指定邮箱.

6.每次检测时,备份数据库文件,并发送到邮箱.

7.备份重要文件,这个有点不靠谱,毕竟副本存在服务器上也没什么安全性,发到邮箱每次消耗的流量更惨不忍睹,不过要是重要文件打包压缩存在服务器,给邮箱发下载链接,定期主动下载倒还可以.

PHP输出错误信息

有的虚拟主机不让在前台显示错误,这是一种保护措施,避免一些用户使用不安全代码而被攻击,毕竟错误信息有时能暴露出很多问题.然而有时候在调试代码的时候,如果没有直接输出错误信息,就不好确定到底出了什么问题,而每次到控制面板后台去看日志也是一个麻烦的事.

最好的当然是有php.ini修改权限,这样可以自己开关一些功能,包括错误输出.不过很少虚拟主机支持这个,至少我用过的虚拟主机都不支持…

但是问题总要解决,于是有这样一个函数ini_set(),这个函数可以设置php.ini的一些值,并在代码运行时覆盖原本php.ini的设置.

error_reporting(E_ALL); //输出所有类型的错误
ini_set("display_errors","On");//设置开启错误信息输出
ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); //将出错信息输出到当前代码路径下的一个文本文件 error_log.txt

当然,大多数时候我们不会想要输出所有类型的错误,因为一些输出的信息并没有影响,并不是什么安全问题,但是输出后的错误信息对页面布局造成影响,所以正常情况会屏蔽一些不需要的信息,比如我一般是用

error_reporting(E_ALL & ~E_NOTICE);

这样屏蔽掉NOTICE类型的错误,其他显示出来的问题则都是需要去解决的.

以下是错误分级,可以使用加上 &~错误类型的方式屏蔽指定类型

错误级别分为:

E_ERROR:严重错误。

E_WARNING:最普通的错误类型。

E_PARSE:解析错误在编译的时候发生。

E_STRICT:这个错误级别是唯一不包含在E_ALL常量中的,为了让PHP4到PHP5的迁移更加容易。

E_NOTICE:表示运行的代码可能在操作一些未知的事情。

E_CORE_ERROR:由于扩展启动失败等导致的。

E_COMPILE_WARNING:编译的时候出现的警告,告诉用户一些不推荐使用的语法信息。

E_COMPILE_ERROR:编译错误。

当然,也可以只使用其中一个或几个,例如:

error_reporting(E_WARNING);

PHP 无刷新上传

最近工作需要,写了个上传后二维码分享的小功能,为了界面更友好,考虑使用无刷新上传.

由于主机就是单纯的php虚拟主机,所以那些java,插件什么的用不了,只好曲线救国,使用iframe .

实际就是把post上传文件后跳转的页面指向了iframe,从而实现本页面不需要刷新就可以上传.

下面是一个示例:

<form enctype="multipart/form-data" method="POST" target="upload" action="upload.php" >
<input type="file" name="file" />
<input type="submit" />
</form>
<iframe name="upload" style="display:none"></iframe>

实际上就是上传文件的post表单多了一个属性target,这个指定页面在哪里打开,而下面一个ifarme的name设定为uplaod,就是form表单post打开页面的目标了,然后iframe的css属性设置为不可见,于是上传完成后没有任何提示,当然也可以让上传页面返回上传结果,然后结果就显示在了iframe里面!

PHP页面直接输出图片

最近做了一个上传文件后自动生成二维码提供下载的功能.

由于前端页面和处理上传以及生成二维码的代码都是单独的php页面,如果使用上传后返回二维码地址,然后再次请求来显示二维码的步骤的话,依次回传感觉不太友好.

于是想到了上传完成后返回的上传结果,前端调用二维码生成的php页面,后台页面生成二维码后直接输出二维码图片,前端用个img标签引用一下文件名,二维码的生成和输出就一次直接完成了!

以下是把图片直接输出的代码,这样其他页面可以直接以img标签引用这个php地址来显示图片,这种方式还可以用户各种支持网络图片的论坛签名,只要包含这个图片的页面被访问,就可以执行一段代码,算是一种另类的计划任务吧,比如系统备份和安全检查之类的,有人访问就会执行.

$img = file_get_contents(文件名,true);
//使用图片头输出浏览器
header("Content-Type: image/jpeg;text/html; charset=utf-8");
echo $img;

img调用方式

<img src="php文件地址">

DA面板开启GZIP压缩

我个人建站使用的虚拟主机有每月流量限制,再加上主机不在国内,数据大了速度就各种慢…

出于各种考虑,我的网站开启GZIP后,对比发现页面压缩率惊人,例如本站首页测试压缩率就有75%,对于基本上纯文本的站点来说,这就节省了75%的流量开支,而且同时提高了浏览速度,简直是建站必备…

以前使用的是CP面板,里面直接可以设置开启GZIP压缩,后来运营商以优惠为诱饵让我转移了机房,结果新机房不提供CP面板,只有DA面板,说实话,习惯了CP面板后,再看DA面板,简直烂的不要不要的,功能少,限制多,界面土得掉渣…

DA没有GZIP开启的选项,这是想干啥,郁闷后百度查找方法,果然善用搜索引擎总会找到想要的资料!

DirectAdmin(DA)面板是没有相关选项的,可以使用.htaccess 文件来进行开启。在该文件添加下面代码。

DirectAdmin(DA)面板开启网页GZIP压缩代码

SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/jpg image/png application/x-javascript

支持html,gif、jpeg、jpg、png、js格式压缩。另外,cPanle面板一般默认是支持的。

第一句的意思是 文件输出定向到DEFLATE模块(压缩文件)

第二句的意思是设置要压缩的文件类型

注:以上资料来自网络.

当然了,如果使用wordpress,那么可以安装插件wp  super cache,这个插件可以把页面压缩,并且提供更多优化,让访问速度增快.有兴趣的可以试试!

落花辞

落花辞剧本

 

我第一次看到沐心的时候,是在惊蛰那天。

万花谷的惊蛰,总是会下雨,她一袭白衣出现在我面前,一时间,我竟将她看成翩然而至的白鹤。后来才知道,她其实是初春的白雪,不适时宜的朦胧而美好。

万花谷从来不下雪。

她不是一个人来的,与她同行的还有一个年纪相仿的少年。英俊健谈,正像他这个年纪所有的少年一样,对未来充满着热情,名气、地位和财富。

他们二人请求借宿避雨,而我没有拒绝,因为万花谷的雨季总会持续很长一段时间,不适合赶路。雨停之后,就是春暖花开,万花谷最美好的一段季节。

少年在放晴后的第一天就离开了,他对外面的世界充满了好奇,他没有让少女随行,而把她托付给我。

“江湖险恶,你一个女孩子家怎么受得了?尧大哥是个好人,你就在此暂住一段时间,等我功成名就之后就回来接你。”少年去意已决,甚至没有留意到沐心眼中的不舍。

“趁着天色还早,我送你出谷,你在落日之前应该可以找到下一个落脚的地方。”我看了沐心一眼,和少年转身疾步而行。

沐心跑到少年跟前停下脚步,欲言又止。少年缓缓的抱了抱拳,“我一定会回来接你的!”

少年走了很久,功成名就的期限可以无限的长,一年,两年,十年,二十年,有时就是一辈子……唯一能与这漫长的约定抗衡的,或许,是相思。

沐心常常凭栏相望。背影瘦削而寂寥。我总是会拿出一件厚厚的衣服批在她身上。

“你看到了什么?”

“风!”

我向她所眺望的方向看去,却什么也没看见。

她相思成疾,我不忍她形销骨立,便带她去寻找那个少年。

我们从长安一直寻访到扬州,那少年如石沉大海,我们则若大海捞针。

她终于在扬州病倒,纵我精通医术却对心病束手无策。突然想起我在扬州的一个朋友,有一副忘忧之药。

七秀坊的陌香。

陌香的容颜依旧,只是我的心却老了。

“是你,你终于回来了。”

“我是来,求忘忧之药的。”

“替谁?”

“一个女孩。”

“我不给,除非你答应娶我。”

“你愿意心里想着另外一个女人的我娶你吗?”

“好,明日你来参加我的婚宴,我把药给你……”

陌香的婚宴似乎筹备了很久很久,仿佛要把扬州都挥霍一空,我却知道原来这些都是为了谁准备的。

陌香在婚宴之上有些忘情的舞着。

我与陌香初见时,她跳的就是这支。那时节,扬州草长莺飞,歌舞不休。我亦年少气盛,多少义气挥斥,如今,却淄衣独影,连回忆,都淡忘了。

瘦西湖畔,陌香衣诀飘飘的向我走来,“这就是你要的药”,陌香的手扬了扬,“只是……”陌香一口气喝了那瓶药,狠狠地摔了下来,头再也不回的走了,只留下个寂寥的背影,渐渐模糊。

沐心病的愈发沉重,我只能雇一辆马车将她载回北方。沐心躺在马车上,意识已经不再清醒。我只能听到她口中反复的呢喃,“昆仑山……”

马车驶进了昆仑山,却被巡山的弟子挡在了门外,沐心强打着精神支撑起病躯

“两位师兄,烦请为沐心向师傅通报一声”

“师傅有令,不再见你”

沐心道:“当日,沐心偷偷下山,是沐心的不是,但今沐心有话对师傅说,再迟,恐怕再无机会了”

巡山弟子轻蔑的望了一眼我们说:“沐心小师妹,休再为难我等,师傅有令,谁敢为你通报”

我展开六尺绸布,将沐心裹在身后,噌的一声,白虹出窍,眼神开始变得阴冷,“我不信见你们掌门就如此之难。”

“大胆外人,我观内之事,岂容你插嘴!”几名纯阳弟子匆忙拔剑,我已经几个起落,越过了界牌,直往三清观冲去。

奔至观前,几名弟子已追上前和我交起手来……

“何人在观内喧哗。”仙风道骨的三清老人终于出现了。

沐心挣扎着从我的后背下来,匍匐在地,哽咽着叫道:“师傅。”

“我不记得有你这个徒儿,”三清老人长袖一拂转过身去。

“师傅,徒儿不孝,身在仙山去心念红尘,枉费了师傅一番心血栽培,当日,徒而怕师父阻拦,走得匆忙,未曾向师父告别,今日特上山向师傅谢别。”三拜九叩之后,沐心起身跟着我离去。

三清老人迟暮的声音从背后传来,“沐心,你在山下可好?”

沐心停住脚步,没有回头,气息微弱却语气坚定,“沐心,无悔。”

我们回到万花谷不久,她便飘然而逝,脸上带着微笑。我之前从来没有看过她笑。

或许她早就知道,在这个尘世中,是永远不会再遇见他了。因为他刚刚走出万花谷,就死在了我的笔下。

那天,他问我,能不能用她换一匹马。

“你喜欢她吧?”少年的笑声无情又猥琐。

我没有说话,手中的少阳笔刺穿了他的咽喉。

 

落花辞赏析

 

题外话:画面细节也无法和3D大作比,配音是业余的,配乐是从其他经典电视插曲,经典音乐片断中分析的,但是震撼我们的是,他通过这样的一个方式告诉我们:“用你的手,也能做出这样的电影来。”

整个故事是透过“尧”浑厚的嗓音传达给我们的。他低沉的嗓音很符合万花弟子的隐士的感觉。我们都相信在第一次见到‘沐心’的时候,尧已经对她一见倾心了,否则他不会在发觉沐心的心上人并不值得她爱的时候毫不犹豫的杀死少年。

很多人不理解尧的做法。其实尧是一个对爱情极其理想,极其信仰的人。他不愿意看到自己心上人受到一点点伤害,他不愿意看到如此纯洁天真的沐心在饱受相思之苦之后,还再加上失望和伤心。

尧是一个悲情人物。

他有爱,却一直默默埋在心底,他愿意陪心爱的人做她想做的事情,哪怕他做之前就知道这是一个没有结局和意义的寻找,他还是依旧陪他走扬州,走江南,大漠,上昆仑;为她低头向陌香求药;为了满足沐心最后的愿望,只身面对昆仑高手。他下手杀少年之前是毫不犹豫的,因为他觉得少年配不上沐心。然而杀了之后,他又在徘徊,自己是否过于绝情,丝毫没有给少年悔过的机会——一点都没有,死了,就什么都谈不上了。或许,这是他内心的煎熬和犹豫就是到沐心死时都没有把真相告诉沐心的原因吧……

陌香的行动也是悲情的,不该走的时候,你走了,不该来的时候,你又来了。你走了,有什么用?你来了,又有什么用?你心上的女孩需要忘忧之药,难道我就不需要么?可以看得出陌香是一个爱恨分明的豪爽的奇女子。

沐心也是悲情的,就像尧说的,或许她早就知道,在这个世界上是不可能在见到那个少年了——不管尧是否杀了他。尧杀了他,阻隔他们的是阴阳,尧不杀他,阻隔他们的是少年的功名心。少年一句话,透露出他对沐心是轻贱的,在他的眼里沐心只相当于他追逐功名的一个踏脚石和路费盘缠。看到这里我们深深的为沐心叫不平,沐心不惜叛出师门,并为之饱受一辈子相思之苦的心上人,竟然是这样看到沐心的!无怪乎尧会毫不犹豫的痛下杀手。

谁是谁非?在爱情面前,谁都没有错。

尧是麦田的守望者,沐心是遥远的寒月,陌香是盛放的牡丹。


本文转自网络:
百度百科:http://baike.baidu.com/view/2206655.htm
优酷视频:http://v.youku.com/v_show/id_XOTE4MDU4MjA=.html

青衣

有时候我们以为爱可以改变一切,但有些东西是无法改变的,就像那些溶入了生命的颜色。

 

(一)

 

她刚刚出生不久,就被父母遗弃在大青山的破庙里。庙里唯一的和尚,程和尚,打开寺门就看见了在薄雾中伸腿蹬脚的她。她被包在一团青色的破布里,小脸蛋儿冻得青紫青紫的。

时间过的飞快,转眼间18年过去了,当年的弃婴如今出落成亭亭玉立的姑娘了。来庙里进香的善男信女们,常常忍不住赞叹程和尚捡了个仙女回来。程和尚笑得白眉毛一抖一抖的,一边说着“阿弥托佛,都是托了大青山山清水秀的灵气”;一边招呼她“青衣,给王夫人上茶”。

青衣是她的名字。因为捡她的时候她是被裹在青布里的,所以程和尚给她取名青衣。也许是因为名字的缘故,也许是因为山里能穿的颜色不多,青衣总是一身青色,青袍子,青裙子,连那头黑黑亮亮的长发也是用一根青绳束着。青色还真是称得青衣,水灵灵白生生的,不管是焚香端茶,还是撒水扫地,怎么看怎么像一个下凡的仙女。

 

(二)

 

世道说乱就乱,朝廷里几个奸臣一搅和,这整个国家就乱成一锅粥。奸臣要废了皇帝,皇帝要灭了奸臣,你争我吵的,仗就打起来了。大青山夹在打仗的两方中间,当地的老百姓被战争累的妻离子散,家破人亡的不在少数。于是程和尚庙里收容的人越来越多,香房住满人不说,米房的米也渐渐浅了下去。程和尚的眉心打了一个明显的川字。避难的人中间还有一些带了刀枪伤来的,青衣和程和尚天天风里来雨里去,在大青山的露水和雾气中寻找药草。

这天清早,青衣正在打扫大殿,一个浑身是血的青年人跌跌撞撞地跑进来,刚叫了声姑娘,就一头载在地上。青衣吃了一惊,赶紧喊来程和尚,把这人拖到香房。换下血衣,安顿好。做好这些之后,青衣立刻提着一把扫帚出了寺门,将那人沿

路留下的血迹扫干净。正扫着,就听见山下人声马嘶的。

哐珰,寺门被踢倒了。门外是在高头大马上的凶神恶煞,马毛已经湿透了,嘴里呼呼的吐着白沫。为首的络腮胡子,大豹眼里布满了血丝,浑身落满了尘土和血迹, “你们有没有看见一个年轻人?”他喊,喉咙好像烧焦的牛皮,已经嘶哑的难以发声。程和尚双掌合十,微微垂下眉毛“阿弥托佛,佛门乃清净之地。本寺并不曾有凶恶之徒经过。”络腮胡子眼睛上下翻了两翻,最后一挥手说“搜”

一行人就骑着马在寺庙周围兜兜转转,有人跳下马,进了庙里,但是没有结果。

当他们再聚集在一起的时候,每个人的脸上都写着绝望和悲凉。络腮胡子狠狠的盯着程和尚,又狠狠的瞪了一下瑟缩在程和尚身后青衣,大手一挥“走”。

 

(三)

 

等马蹄声远的听不见了,青衣才把受伤的年轻人从香案底下拖出来。他的目光已经有些涣散,很艰难地从怀中掏出一块玉佩,嘴唇嗫嚅着又晕了过去。

几天之后,在青衣的精心照顾下,年轻人已经恢复了神智。晚上,青衣又煎了药给他送去,他抓住青衣的手说“青衣姑娘,在下有一事相求,此事非同小可,万望姑娘帮忙。”青衣双掌合十“阿弥托佛,施主请说,如若帮的到的地方,小女子自当效力。年轻人拿出玉佩交到青衣手里,“姑娘,烦劳你把这枚玉佩交到山下皇上的营帐,只说流风安好。”青衣立在原地,怔怔看着如豆的油灯。“姑娘,请你务必帮忙,此事关系重大,姑娘如愿帮忙,日后必当重谢。”青衣将他的手按一按说,我帮你就是了。旋即走出房门,片刻回来,已经是男人打扮。仍旧是一身青色,头发用一块青布包好。年轻人想下床跪谢,被青衣拦住。

 

(四)

 

半个月后,庙里的米吃完了,野菜和山果也差不多被采完了。程和尚常常一个人叹息,青衣总是站在他身后,表情安静的帮他捶背。程和尚握住青衣的手说,“青衣啊,我是快要见佛祖的人了,我走了之后,最不放心的就是你啊”青衣垂下头,什么话也不说。山里的风很清凉的吹着,阳光透过雕刻的精致的黑木窗格被雕刻成好看的形状。而拜托青衣送讯的年轻人就站在窗户外,偷眼看着青衣。

一阵风来,细如微雨的花瓣在空气中纷飞飘转,庙外又响起了马蹄声。铁青的铠甲和战马,顺着山路排成两排,一个峨冠白袍的人跪在寺门前高呼“恭迎少帅”,底下的千百个士兵也高呼“恭迎少帅”。战马不时打个响鼻,旗帜在山风中呼啦拉的抖动。流风从庙里走出来,,跨上士兵为他牵来的骏马,似乎要勒马去了,却猛得转过马头,马儿腾空长啸。几片小小的花瓣落在青衣的额发上,流风对青衣深深的看了一眼。人群爆发出一阵欢呼。铁青的队伍和飘扬的旗帜在青衣眼中远去了,模糊了,消失了;表情依然安静,脸颊却染上了花瓣的绯红。程和尚幽幽地说,“青衣,这些天累了吧,回房休息一下。”

 

(五)

 

庙里又回到以前的宁静,香火比以前更加旺盛。程和尚的身体一天差似一天,安静的青衣也比以前更加安静。

年轻人终于在绿树掩映的山路上出现了,他骑马驰来,喜悦的颜色好像山头的红日。到庙门口,他一勒马头,马儿前蹄腾空仰天长鸣。程和尚和青衣赶紧走出来,看看发生了什么事。年轻人跳下马,对程和尚单膝跪下,“长老,我是蒙您照顾的秦流风,今日特来有一事相求。我与青衣姑娘情投意合,想与姑娘结百年之好……”程和尚按按他的手,示意他不要再说了,“青衣,过来。”程和尚将青衣的手放在年轻人手里,望着青衣,眸子里泪光流转,“青衣,秦公子是值得托付的年轻人,我就把你交给他了――这样我也就放心了。”

山里的风仍旧清凉的吹着,阳光穿过雕刻的精致的黑木窗格时仿佛微微颤抖,光浮光灭。程和尚站在窗外看着年轻人策马扬鞭,青衣远去。

“我知道你会回来的。”

“哦,我差点回不来了呢?”

“为什么?”

“皇上要把三公主许配给我,爹妈也对我施加压力。”

“唔?那你为什么还回来了?”

“呵呵,我对爹妈说,我只给你们两个选择,一个是让我死,一个是让我和我爱的人在一起。”

“那你爹妈怎么说?”

“你说呢?”

马儿载着两颗幸福的心在绿树和清溪间穿梭,青衣把头埋进流风的怀里,流风低下头,轻轻吻了一下她的额发,双眼相对,四目含情。

 

(六)

 

天擦黑的时候,他们来到了一处灯火通明的府邸。朱红的大门,轰的一声推开了,院子里整齐的排列着训练有素的佣人们“欢迎少爷回家”。流檐飞瓦的院子里到处挂着猩红的灯笼,碗大的“秦”字在晕红的空气里随风摇晃。衬的青衣一身打扮单薄的可怜。流风牵着青衣的手,大步流星的走向正房。那里,秦老将军和秦夫人正一脸怒色的等着儿子归来。

“父亲,母亲,这就是青衣姑娘。”流风声音宏亮,满脸掩饰不住的快乐。

“哦,青衣姑娘。”秦将军的头颅昂然不动,面无表情。秦夫人慈祥地扶起了正在行礼的青衣。

秦将军虽然硬,毕竟老了,流风和青衣的婚礼按照流风的意愿举行了。婚礼在一个大吉大利的艳阳天举行,太阳红的刺眼。流风和青衣穿着火红的礼服,在一院子的红绸红缎中,像一对金童玉女。在喝青衣递来的喜酒时,秦将军终于对青衣露出了笑脸,流风舒了一口气,爽朗的笑了。没有人注意到青衣,穿着凤冠霞帔的青衣,笑容有一丝迟疑。

 

(七)

 

婚后的青衣,常常对着叠在箱底的一套青衣发呆。房间是喜庆的红色,床是金色的。再看看自己,五颜六色流光溢彩的珠花,鲜红的上衣,绯色的裙,杏黄的绣鞋……将军府的院子里有的是假山良木,亭台楼榭,曲折而长的走廊里,葡萄腾纠缠交错,各色的鸟儿在笼中吱吱喳喳。青衣有时候会拿一些小米和水去喂鸟,有时候就坐在走廊的深处发呆。流风回府的时候,青衣就带着微笑和流风讲话。流风很爱吻青衣的额发,他说青衣的味道是清风和流水的味道,“还有白云和小鸟”,他调皮的说,紧紧的抱着青衣。

青衣一日瘦似一日了,流风开始变得不安。他找来最好的厨师,做出最好吃的食物,希望青衣可以胖一点。可是青衣却日渐消瘦了,一日瘦似一日。终于有一天青衣瘦的已经吃不下东西了,连水也喝不进去。

流风抱着轻若柳絮的青衣坐在将军府最高的亭子里。夕阳正悬挂在半个天,染的天空变成了金红色,亭子,楼阁,树木,流风的脸都变成了金红色。流风哭了,一滴泪水从他金红色的脸庞流下来,也是金红色的。青衣吃力的伸手,想擦去那颗泪珠,然而无力的垂了下来。流风牵起她的手,放在自己脸上,摩娑着,他们的目光交织在一起。蓦地,流风好像突然明白了一些什么,“青衣,你坚持住,我带你回大青山!”。“不要”,青衣气若游丝的说,“这样就很好。”青衣努力的呼吸了一下,好像在积聚力量,流风将耳朵贴在她的唇边,以为她要说什么。可流风什么也没听见,只是感觉怀中的青衣渐渐失去了温度。

……

太阳终于完全隐没在远处的青山,一层薄薄的淡灰色笼罩大地。蛰伏了一天的各种生命突然铺天盖地的涌出来,在天空和大地上肆意横行。

她是一条美人鱼

梦里飘过一条又一条河流

河流却违愿的逆行

这使她困惑

于是 拚命拚命的想着

想着心中的王子就在河的对岸

奋力地前行 前行

可怜鳞片被河流冲掉

可怜皮肤也被河流冲破

她唯一的骄傲荡然无存

只为他

惶恐的伸出苍白无力的双手

轻抚着自己残损的身体

并悄悄地

对自己支离破碎的心哭泣

他还在等我吗


文章转自网络,虽经查证,仍然未能找到最初出处,知道来源的读者请留言告知,谢谢!

大家都不爱装孙子,所以也就都别装大爷

伸手的大爷们

 

“我想让这世界越来越好,可是完全不知道怎么去做。”

 

哗众取宠的结局

 

如果仔细说起PSP为什么会在中国流行,大概可以列出不下一千种理由。可千言万语说到归齐,没有破解的PSP肯定无法成为影音游戏通吃的装X利器,也不会在街头巷尾地铁公交里成为装机量第一的掌上设备。稍微对PSP熟悉一点的人可能都知道,PSP在2000型之前的时代有着各种美好,所有的自制软件和破解都畅通无阻。后来SONY的CEO来了一趟中国,看到比日本专卖店规模还大的水货电玩批发之后就回去痛下决心,彻底整改PSP的主板构架,愣是把这机器的破解漏洞给堵上了。导致PSP3000型苦等半年多才等到一个软件漏洞破解。随后就是硬件厂商和破解黑客们之间的战斗,你升级固件,我升级自制软件,你来我往不亦乐乎。

 

让时间回拨到一年前,2010年1月最后两天,SQUARE ENIX的PSP大作《王国之心 梦中诞生》发售,这个使用了新升级文件的游戏让所有拿着PSP等破解的玩家傻了眼。游戏的特殊构造让目前的自制系统无法运行ISO文件。此时最早开发破解固件M33的大神Dark Alex早已退隐,百分之九十九的玩家都在使用GEN小组的自制系统。所有人都希望能有人出现破解掉这个游戏,让自己能玩到最新最快的PSP新作。

 

实现这个愿望的并不是国外黑客,而是一名国内的自制软件制作者。在这之前我们用盗版的时候虽然总不忘自夸一句我国人民勤劳勇敢什么的,但其实心里都明白,大部分破解高手集中在德国和俄罗斯,历代游戏主机的破解都跟国人没有半毛钱关系。只是我们宁愿相信群众的力量无穷大,相信茫茫人海中总会有人站出来解决这个问题——反正肯定不是摇旗呐喊的自己就行。

 

这个人的ID已经不用复述,在高调开贴声称自己要破解《王国之心 梦中诞生》后,他的帖子点击率和回复都达到了一个前所未有的高度。有的人认为他是哗众取宠,有的人从PSP游戏文件构成分析这件事儿的难度,也有人更直接地冷嘲热讽……然后在大约一周后,他放出了在游戏中开启金手指软件的截图,游戏破解成功。

 

十天后,他放出了破解傻瓜包。

 

几周后,他放出了可以直接玩更高版本系统下游戏的自制固件。

 

于是所有的质疑和讽刺都化作此起彼伏的赞扬,他的帖子被标红,他的破解让外国玩家也不远万里过来注册,他的名声传遍了世界,他的ID被尊称为大神,就像曾经带给PSP破解最佳思路的Dadk Alex一样。

 

只是很少有人能记得,DA在没有开发M33后续固件后,论坛上那些质疑和嘲讽的声音,甚至有人跑到DA的国外官方论坛上叫骂。那些帖子和言论随着时间沉入系统深处,却没能沉淀出伸手党们平静的心态。

 

历史总是惊人地相似,这位曾经被称为国人骄傲的“大神”,在成功开发出两代自制固件,破解掉许多新游戏之后,也遭遇了相似的一幕。

 

是个玩PSP的都知道《怪物猎人3P》要在2010年的12月1日发售,既是为了纪念《怪物猎人》系列周年庆,也是为了让软件商的年度财报好看一些。对于这款在中国和日本都有着极高人气的游戏,每个粉丝都热切期盼着。

 

在《怪物猎人3P》发售前一周,“大神”发帖表示破解毫无压力。目前自制固件无法运行该游戏,但他可以通过一些改进搞定一切。

 

接下来的精彩,超过的最初所有人的想象。

 

“大神”有一个习惯,必须等到游戏发售一周后公布销量才发布破解。《怪物猎人3P》偷跑数日,各大论坛上憋着等下载的人数概超过了六位,帖子里各种惨嚎和胡言乱语不计其数。不负众望的“大神”用数小时即完成了《怪物猎人P3》的破解,随后宣布可以先给各大汉化组,以便汉化组能够尽快让大家玩到汉化游戏。

 

事实证明,这个世界上最美好的只有愿望。当时得知“大神”已经破解了《怪物猎人3P》的伸手党们本已躁动不安,有人说这搞破解的在装X,有人说他是为了赚取眼球和点击率,当然还有更难听的,总之人性的各种精彩就在这一刻被表现得淋漓尽致。在变了味的网络喧嚣中,这个故事忽然急转直下。

 

“大神”私下给出的破解补丁被自己熟悉的一位论坛版主泄露出去了,于是大部分支持的声音瞬间变成了声讨——凭什么你能给他却不给我们玩?更有甚者,人肉出了“大神”的个人信息要发布出去。威胁到了现实生活的“大神”惟有选择退出PSP破解界,从此消失在众人的视线中。

 

在离开网络之前,他发布了还在完善中的新自制固件,并留下了无奈的留言——“看在我让你们玩了这么多新游戏的份上,让我安静的离开吧。”

 

当国外PSP破解黑客得知这位东方同行退出之后,几乎在第一时间发表了遗憾的声明,甚至他们也承认这同道中人才是“有史以来最好的PSP破解黑客”。但这一切已无法挽回,《怪物猎人3P》破解了,而付出这样代价是任何人都始料未及的。

 

淘宝商人继续卖UMD,该玩盗版的继续玩盗版,BBS上的管理员在打扫过论坛之后,关于这件事前前后后的就算是结束了,一切都如未曾发生。可谁也不知道下一个破解PSP新游戏的人在哪里,谁也不知道下一次又有谁要遭受网络冷暴力。一个一个汉化组成立又解散,一次又一次的攻讦和辱骂。有时候那些继续坚持互联网共享精神的人们也忍不住要问一句。

 

大爷们,你们到底想怎样?

 

从来就没温暖过

 

我国玩家的尴尬早已不是一天两天的事了,这样一个不允许电子游戏机成为进口商品的国家里想要玩游戏需要付出很多曲折的代价。面对没有官方中文版和游戏首发必然不会到货的环境,网络共享发布和汉化一直是游戏圈最受关注的两个群体。而我们通常会把那些下载免费游戏的人称为伸手党——这没什么侮辱的意思,就和字面上的意思一样,大多数玩家付出的无非就是下载的时间和点几下鼠标而已,他们可能未曾想过别人付出什么样的艰辛。

最容易受到诟病的当然还是汉化组,游戏的汉化组和影视作品字幕组还不太一样。一般来说一个游戏的汉化过程都漫长又痛苦,除非特别有爱也没什么人会去做这件事。遗憾的是就算这么单纯的工作,一样有人不断表现出各种大爷丰采。

 

“《XXX》的汉化怎么还没开始?汉化组的人都吃屎去了吗?”

“你们说要汉化《XXXX》都已经快四个月了,怎么还没有截图放出!”

“垃圾,这汉化也太垃圾了!”

“为什么没有人汉化《XX》,赶快来人开坑啊!”

…………

 

 

这也是为什么许多汉化组面对外人询问工作进度时态度不怎么好的主要原因——大家只是在网络上做白工而已,忽然凭空多出这么多视察工作的领导,谁的心情也不会太好。而且大多数不顾别人感受胡言乱语的人反倒不会认真去体验别人的汉化作品,他们这么做通常只是因为网络上问句话没有成本而已,就像他们下载那些别人放出的游戏和汉化补丁那样。在这间或里即使有许多真挚的感谢,也被淹没在各种责问之中了。很多人可能一辈子都没怎么被人尊重过,因此也不懂得怎样尊重别人。

 

这样的无理取闹导致大多数汉化组行事低调,哪怕发布新版本汉化补丁也战战兢兢,生怕惹恼了大爷们招来不知道多少叫骂和喷贴。不管是错字、延期还是有了死机BUG,总免不了要被人喷上一番。以至于后来许多搞汉化的都是做一票就走,搞完项目就宣布解散,免得被人整个团队一起喷。

 

有的人说反正汉化组那么多,喷跑几个心理素质差的,还会有人继续干这个活儿。可这帮人不知道破解领域就那么几个能人,有人跑去DA的论坛喷他,有人在GEN小组的留言板上刷屏,也有人各种喷国内破解的大神……这些人绝大多数是因为被他们喷的人才玩到的新游戏,他们很容易就忘记了这一点,正如他们希望别人善待自己,但自己完全不懂如何善待别人。

 

我们的社会怎么了

 

常听人说起说一个道理:那就是你对某个人好,就得一直好下去,只要有一次不够好,以前所做的各种努力可能都会付之东流。说这话的人肯定对人性有相当程度的了解,他也一定经历过什么惨痛的教训。

 

在很多时候,做破解也好,做软件共享也好,或者搞汉化也好,都面临这样一种窘境。你做得好就是几声赞扬,你做不好了马上质疑谩骂狼烟四起。这就好比许多软件常年免费,忽然有一天收钱了,我们愤怒又失望地骂了一万句,这才记起来,按照这个世界的规矩其实本来就该收钱。只是我们享受了太多优待,把这优待当成了常态。

 

其实没有什么事是真正应该的。比如几年前有个台湾人宣布独立汉化《皇家骑士团2》的SFC版,但不外流。唯一要求就是申请汉化补丁的人答应不要外泄,同时附上自己手中正版《皇家骑士团2》卡带的照片三张。这要求其实不算过分,也比较符合台湾玩家尊重正版的习惯。遗憾的是国内大部分玩家并没有SFC的卡带,移植版的PS和SS的正版光盘更不用说了。

 

于是觉得无望拿到补丁的玩家纷纷登陆那个人所在的论坛,各种破口大骂,极尽诋毁之能事。当然骂完人家照例是不给补丁的,只是那些留言让彼岸的玩家又低看了内地玩家一次。

 

大概所有人都能记得那些汉化、字幕还和共享软件上都会标明是以研究和学习为目的,并不是用于商业用途,请于24小时内删除等等。这些字眼本身就已经是阐述互联网共享的基本态度,一切都应该以发布者的决定为主,因为我们只是些伸手党。可偏偏有人就是想当发布者的主人,冀望于骂几句之后改变别人的意见。没错他们是改变了,他们让更多的人学会了珍惜生命,远离破解和汉化。

 

其实这种事远远不止发生在游戏圈,笔者一个朋友家境不错,为人又古道热心,开了一家桌游店。经常有人电脑坏了打电话问他该怎么办,他说如果是小问题你就直接拿来修吧。那边的人就问要多少钱,他说一般情况下不会收钱。然后电话那边的人往往沉吟片刻,说好吧我再想想就挂了电话。这位朋友就不太明白,免费修电脑什么的为什么会让人那么犹豫。后来经旁人之口才知道,原来很多人已经不相信有素不相识的人可以免费帮别人忙这种事发生了,在他们看来这个社会上的每一次举手之劳都要明码标价,否则就有更深的阴谋。

 

我想这也是很多人面对破解、汉化和游戏共享发布等情况时的内心真实写照。对于社会大环境的怀疑,对于他人目的的揣测和出于自身的不成熟造就了众多的网络喷子,在一个不必担心责任问题的地方指责别人的确是一件爽快的事。更重要的是网络冷暴力所造成的后果往往难以追查,毕竟法不责众,犯错的是一批人而不是一个人。这个责任无法落实到谁头上去。

 

我们所向往的自由

 

自由宣言里对自由的定义是“在不伤害别人的前提下,你所做的一切都是正确的”。遗憾的是很少有人在发表自己看法时能够想起这句定义。在网络这个目前最开放的平台上,许多人努力寻求自由,却借着自由之名做着无尽伤害他人的事。这就像往往我们渴望公平,又希望自己拥有并利用那些不公平的力量;我们渴望尊重,却总在话里话外表现出对他人的不尊重;我们渴望得到而很少付出,却总在抱怨别人付出的太少……我们所做的一切,并不是自由,只是在扼杀自由所带来的种种可能而已。

我们对互联网最大的贡献,不过是我们每个人都是一个普通用户而已。而我们如果还想让这个世界更繁荣快乐一些,对别人的肯定和宽容是不是更重要呢?文章开头提到的那位在国内被称为“大神”的网友在《寄生前夜 第三次生日》破解遇到瓶颈后又一次出现,玩家们又一次玩到了最新的免费游戏。经过失去再度拥有,让很多人的改变了自己的言论。这不禁让我想起当Dark Alex宣布自己退出破解界不再研发自制系统的时候,在中文论坛里看到那许多叫嚣着“DA大神已经不行了”,“快滚吧,那么久都不更新系统”的声音。在这些Dark Alex看不懂的中文帖子里,我小心翼翼地写上“感谢你这么多年来的辛勤工作,让我们玩到了那么多好游戏”这样一句话。今天我在这里又一次说出来,觉得这样的话每一个字都没有错,并认为这才是对互联网共享精神最大的尊重。

 


本文转自多玩,http://news.duowan.com/YD/ctm32/index.html