记一则Linux病毒的处理

今天某项目经理反馈学校的某台服务器不停的向外发包,且CPU持续100%,远程登录后查看发现有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串进程。删除文件也会重复生成,非常痛苦。查阅crond相关日志,发现实际执行的内容为/lib/libudev.so ,以此为关键字进行查询,找到如下内容: 继续阅读“记一则Linux病毒的处理”

关于Linux可用空间一直为0的解决

今天在解决某高校CMS系统时,发现其可用服务器空间为0,已用百分比为100%,试着删除了部分无用内容后已用空间减少,但是可用空间依然为0.查阅相关资料后发现这是Linux的一个保护措施,会默认预留5%的空间给root用户使用。若想降低此预留比例到1%,可以执行:

sudo tune2fs -m 1 /dev/xvda3

参考:

http://superuser.com/questions/297863/available-disk-space-always-0

Ubuntu 安装 VMware Tools 报“无法找到kernel header path”的解决方案

(本文转自danieluk的专栏

经测试,本文同样支持Ubuntu 12.04

1. 更新或安装linux headers

sudo apt-get update && sudo apt-get install build-essential linux-headers-$(uname -r)

2. 关联文件,就是因为找不到这个几个文件,vmware tools才认为路径无效的。

cd /lib/modules/$(uname -r)/build/include/linux
sudo ln -s ../generated/utsrelease.h
sudo ln -s ../generated/autoconf.h
sudo ln -s ../generated/uapi/linux/version.h

3. 再次执行安装就ok啦,运行vmware-config-tools.pl 也没问题了

sudo ./vmware-install.pl

在不同编码的页面间通过表单传递参数乱码的问题

今天遇到一个很神奇的问题,用户告诉我这边网站上的表单提交到查询系统之后得不到返回值,查询结果是0条记录,但是再本地纯html执行的结果却能搜索到值。自己验证了下,果然如此,而且比对两边GET提交的参数,除了有个字段的值不同外,参数个数这些都是相同的,故考虑有可能是编码问题造成的影响。

分别打开两个文件后查看,发现两边编码确实不一致,而服务器那边为GB2312,传递UTF-8编码的参数过去不能正常解析出来,故放狗搜索,查找到form上一个很少用的属性。

accept-charset=”gb2312″

这个属性很有意思,可以设置表单以什么编码对内容进行编码,所以,给form 加上这个属性,就好了。

不过很恶心的,IE对这个属性不支持,于是只好对表单的onSubmit()方法进行下hack,加上

onsubmit=”document.charset=’gb2312′;”

问题彻底解决。

如何在jstl自定义标签中使用el表达式

今天Coding的时候,我使用到了自定义jstl表达式,其调用格式形如

<pms:getDicName dict=”jg” code=”${personEntity.jg}”/>

当然,在tld文件中,我也将code的rtexprvalue设置为了true,但是程序调试中,我在程序中获取到的死活都是“${personEntity.jg}”,而不是这段字符串的值,经查阅资料,发现想要在jstl表达式中使用el表达式需要额外做两个处理。

1)将接收el表达式的变量设置为Object类型。

2)改写接收el表达式的变量的set方法为:

public void setCode(Object code) throws JspException {
this.code = ExpressionEvaluatorManager.evaluate(“code”,code.toString(),Object.class,this,pageContext);
}

这样再测试,程序即可顺利的在jstl表达式中获取到el表达式的值。

Java出现Invalid XPath expression:的一种可能原因

相信dom4j是很多Java程序猿必备的jar包,最近跟某邮件系统集成时,使用dom4j读取对方的atom文件,无奈怎么调试系统都在报错“Invalid XPath expression:”,而我也很确定XPath表达式没有出错,经过查找资料及比对,发现造成这个问题的原因是少了一个Jar包——jaxen-1.1-beta-6.jar

加入此Jar包后,问题解决。

 

讨论Windows 7如何知道用户网络受限

大家在使用Vista,Win7,Win8等系统的时候有没有好奇,为什么右下方网络那边可以判断出当前用户是否连接公网,今天在上网的时候注意到了一个小细节,深究下去发现了好玩的内容:)

继续阅读“讨论Windows 7如何知道用户网络受限”

Linux下快速删除大量文件/文件夹方法

昨天遇到一个问题,在Linux中有一个文件夹里面含有大量的Cache文件(夹),数量级可能在百万级别,使用rm -rf ./* 删除时间慢到不可接受。Google了一下,查到了一种方法,试用了下确实比单纯使用rm快了一个数量级。

方法见下:

1)首先建立一个空白文件夹。

mkdir /tmp/empty

2)之后使用以下语句即可快速的删除文件。

rsync –delete-before -d /tmp/empty/ /the/folder/you/want/delete/

原文中说不要忘记文件夹后的“/”

3)一杯咖啡过后,就Ok了。

更多详情可以参见:

linux 快速删除大量文件

关于Java中redirect与forward的区别

今天遇到了一个超级郁闷的问题,在公司的门户上做了二开,理想的效果是用户通过我给定的URI提交数据之后,若数据正确跳转到首页,若错误则跳转到登录页。修改完成之后部署上,发现无论用户给出的凭据是正确还是错误都往错误页上跳转。
调试过程中我发现,用户输入正确的凭据以后系统确实往主页跳转了,但是最后的结果却是又返回到了登录页。仔细查看代码后发现,我在往主页跳转的时候,错误的使用了forward,造成不能将用户本地的cookie等凭证带到主页,令系统以为我已经退出了,故又返回了登录页。
关于redirect与forwad的区别,找到一篇博文,见下:(转载自:http://blog.csdn.net/tenor/article/details/4077079) 继续阅读“关于Java中redirect与forward的区别”