Archive for 8 月, 2011

黑莓模拟器增加中文支持

星期三, 24 8 月, 2011

找到JDE安装目录下的simulator目录,比如:C:\Program Files\Research In Motion\BlackBerry JDE 4.6.1\simulator,找到机型.xml文件,比如我的8900.xml,用记事本之类的文本编辑器打开,在</SimulatorConfiguration>之前添加下面两行即可:

[xml]
<Application>net.rim.blackberry.lang.zh_CN_Pinyin</Application>
<Application>net.rim.blackberry.lang.zh_CN.renderingSupport</Application>
[/xml]

参考来源:Blackberry 中文开发环境的配置(模拟器显示中文及中文输入法)

还原短链接的PHP代码

星期一, 22 8 月, 2011

参考自一缸水C#还原短地址,原理是模拟请求短地址再获取header中的Location内容,就能拿到正确的页面url。

PHP代码:
[php]
function getRealUrl($shortUrl)
{
$header = get_headers($shortUrl, 1);

if ($header && $header['Location'])
{
$location = $header['Location'];
if (is_array($location))
{
return $location[0];
}
else
{
return $location;
}
}

return $shortUrl;
}

// For http://t.co/xxx
if (isset($_REQUEST['tco']))
{
$real_tco = getRealUrl('http://t.co/' . $_REQUEST['tco']);
}

// For full short URL
if (isset($_REQUEST['shorturl']))
{
$real_url = getRealUrl($_REQUEST['shorturl']);
}
[/php]

参考源程序:realurl.php测试

出于安全起见,VPS的默认端口得改

星期一, 8 8 月, 2011

今天碰到个问题,早上VPS的SSH(22)端口还连得好好的,中午快吃饭前发现无法再连接,同时http和https端口都无法连接,出问题的是网通线路,在手机上试电信和移动的线路发现都是正常的。同时虚拟主机上另一个临时IP也出现相同情况,这两个IP的共同点是都连接过22端口,因此得出得确认,网通对22号端口下手了!(在写这篇文章时虚拟主机上的IP又能用了,怀疑是临时性封IP,期待我的VPS主IP也能恢复正常)

考虑到VPS在买的时候说可以提供两个IP,但第二个IP需要开Ticket要求才会给,我在登录VPS客服网站时发现该站也被墙了,而电信和移动线路都正常,因此可以得出网通比另两家ISP更加助纣为孽,在此强烈BS网通!

通过代理开通Ticket总算申请到第二个IP了,就只修改本地hosts在网通线路下使用。

现在得出个结论是:出于安全考虑不能使用默认的端口。

ssh修改端口方法:修改/etc/ssh/sshd_config文件,把Port前的#去掉,然后把22改成自己的端口。同时需要修改iptables对应的端口,可以直接修改/etc/sysconfig/iptables中的22端口为自己的端口(如果之前设过的话)。然后使用service sshd restart重启ssh服务,iptables则使用service iptables restart来重启。

vsftpd修改端口方法:修改/etc/vsftpd/vsftpd.conf文件,在最后加上一行listen_port=nnn,nnn改成自己的端口,对应的iptables的端口也要修改,然后使用service vsftpd restart重启vsftpd服务。

其它比如openvpn或pptpd的端口也以此类推,总之就是不要使用默认的端口

VPS上启用自动执行PHP脚本功能

星期一, 1 8 月, 2011

首先VPS在编译PHP源码时要带上“--enable-cli”参数才可以编译生成php执行命令文件。安装好后就可以使用“php filename.php”来执行PHP脚本文件,比如:
[bash]
php /home/www/sendMail.php
[/bash]

还可以改变执行结果的输出,同时禁止邮件提醒,参见这里,比如:
[bash]
php /home/www/sendMail.php > /dev/null 2>&1
[/bash]

接着就把php的执行命令添加到crontabs中,使用“crontab -e”命令来编辑当前用户的crontab,结果保存在/var/spool/cron/目录下,以当前用户名命令的脚本文件里,crontab更多的命令参见“crontab -h”。

格式:分(0~59) 时(0~23) 日(1~31) 月(1~12) 星期(0~7) 命令

数值字段可使用*号表示任意数值,使用“*/数值”来表示每隔指定数值执行一次,比如分钟是“*/5”表示每5分钟种执行一次。

举例:
[bash]
*/5 * * * * php /home/www/sendMail.php > /dev/null 2>&1
* * * * * php /home/www/test.php > /dev/null 2>&1
[/bash]
分别表示5分钟执行一次sendMail.php和每分钟执行一次test.php,详情参见这里

openssl去掉证书启动密码

星期一, 1 8 月, 2011

在制作证书时可能为了安全设置了启用密码,这样在启动httpd时需要输入正确的密码才可以继续,这样就不能实现系统重启时自动启动httpd服务,解决办法是去掉证书的启用密码。

[bash]
cp ssl.key ssl.key.org
openssl rsa -in ssl.key.org -out ssl.key
chmod 600 ssl.key
[/bash]