Category: 小小草

IT 技术领域学海无涯。其实任何领域都学海无涯,无非 IT 发展太快了,让我有更多嘘唏。希望我掌握的技术有如小小草,虽然渺小,却有旺盛的生命力。

  • 为什么局域网内某些电脑只能凭IP访问,不能凭名字访问

    为什么同样在一个局域网内,某些电脑能在网上邻居里显示出来,某些电脑就显示不出来?在A电脑上能看到某台电脑,在B电脑上就看不到它?某台电脑能凭IP访问(\\192.168.x.x),却不能凭名字访问(\\pcname),但是凭IP访问过一次以后就可以凭名字访问了?

    这些怪现象我已经碰到得多了,差不多见怪不怪了。今天让我偶然中发现其中的原因(防火墙因素除外):如果被访问电脑设为静态IP(是指手动配置被访问电脑网卡IP,非通过DHCP服务器MAC绑定得来的固定IP),而且访问电脑TCP/IP协议属性->高级->WINS->NetBIOS禁用的话,那就会出现上述现象。

  • How to center the table

    在网页里,如何让整个表格居中?

    我一开始想到的是把<table>嵌套在<div style=”text-align:center”>里,结果发现这样的代码在浏览器里查看表格确实是居中的,但是,同样的代码写成的html邮件表现的就是左对齐(似乎div style=”text-align:center”不起作用)。

    为了保证html格式的邮件里的table能居中,我搜寻到了两种方式:

    • 直接用table的align属性:<table align=”center”> (但这不符合W3C XHTML 1.0 Strict规范)
    • 使用css margin:auto:<table style=”margin-left:auto; margin-right:auto”>
  • Authsmtp verify Return Path address as well

    I use phpList to send newsletters to customers. I recently add bounced messages automatic processor, which require a seperate email address to accept bounced messages. Bounced messages are sent to From address if no Return Path is set in email envelope. Email programs such as outlook are not suitable to serve as a newsletter program because they do not have a setting for Return Path.

    However, when I try to send out a test letter after I set up bounced messages in phpList, I kept receiving error messages from authsmtp saying From address was not authorised. I was confused because I had been using the same From address since I purchased authsmtp. It took a couple of hours to figure out From address referring to Return Path address.

    So, I need verify the Return Path address as well before I can use authsmtp again.

  • Change WordPress Table Prefix

    WordPress 安全白皮书里倡议其中一条是采用别人猜不着的数据表前缀。

    想必很多WordPress Blog安装时都是采用默认的数据表前缀”wp_”,那么要让”wp_”迁移到”unguessable_”,要做三部分工作:

    1. 修改表中数据,就WordPress当前版本2.6.5而言,有三处要改
      1. 在表”wp_usermeta”中,”meta_key”字段,把”wp_capabilities” 改为 “unguessable_capabilities”
      2. 在表”wp_usermeta”中,”meta_key”字段,把”wp_user_level” 改为 “unguessable_user_level”
      3. 在表”wp_usermeta”中,”option_name”字段,把”wp_user_roles” 改为 “unguessable_user_roles”
    2. 重命名数据表(RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO new_tbl_name2] …)
    3. 修改wp-config.php,$table_prefix = “wp_” 改成 “unguessable_”

    还不算复杂吧。有个plugin据说能帮你自动迁移表前缀,但我没试过,毕竟表前缀前年改一回,何必依赖一个素不相识的plugin呢?

    顺便说一句,如果不做第一部分工作(修改表中数据),前台能可以工作,但后台会有”You do not have sufficient permissions to access this page.”,这错误提示很容易让人联想到密码的hash变了,是老密码无法使用了吗?其实不是,错误跟密码无关,密码还是那个密码。

  • Apache Option FollowSymLinks

    我终于意识到Apache “Option +FollowSymLinks”对我的重要性了。

    以前对一些程序提供的.htaccess sample中Option +FollowSymLinks一条总是熟视无睹(比如,magento .htaccess就有这么一条),今天发现Option FollowSymLinks对我来说并非可有可无。因为我逐步摸索出的Magento一次安装,多处使用WordPress一次安装,多处使用,都是借助于Linux软连接(symbol link)的强大功能。一旦使用Option -FollowSymLinks,我的一次安装多次使用的方案全部失灵了。

  • VBA字符串精确比较

    我实在没想到在VBA里,(“abc” = “ABC”) = true。

    为了debug这个被我认为 false的判断,我找了好久。找到了已经想通了,从DOS到Windows,微软不是一直在营造一种大小写不敏感的气氛吗?只是我没估计到从程序员这么严谨的角度,竟然也是忽略字符串大小写。可能我越来越Linux了,对Windows这一套哲学越来越不适应了。

    不过,VBA里要精确比较字符串也是做得到的: StrComp(String1, String2, vbBinaryCompare).

  • qTranslate Update

    我很喜欢qTranslate这个插件,尽管我没在这个blog上使用。

    qTranslate更新很快,最近几次我注意到每次WordPress一有更新,qTranslate随后就有更新。

    但我就不明白了——每次WordPress更新后,老版本的qTranslate就工作不正常了。编辑时,qTranslate is disabled(当然这也不是什么大不了的缺陷,反正我更习惯于直接写代码)。非得qTranslate出一个更新,这个毛病才能解决。

    是不是秦谦老兄写的qTransalte不太符合WordPress Plugin规范?

  • PhpList Can Work With SSL POP

    想要phpList process bounce messages,邮箱却只支持SSL POP (port 995, 如gmail)?没问题。

    config.php 作以下设置:

    $bounce_protocol = 'pop';
    $message_envelope = 'username@gmail.com';
    $bounce_mailbox_host = 'pop.gmail.com';
    $bounce_mailbox_user = 'username@gmail.com';
    $bounce_mailbox_password = 'password';
    $bounce_mailbox_port = "995/pop3/ssl/novalidate-cert";

    我本还担心phpList 不能从gmail上pop出bounce messages,正想着去专门建一个未经SSL处理的POP邮箱,没想到phpList轻易就达到了我的要求。

    另外我还发现,按照phpList自己的说法,php必须运行在safe_mode off的环境下才能让phpList 处理bounce messages,但我亲身实验结果显示safe_mode can be on.

  • Magento Cache

    关于Magento的Cache机制还有待进一步了解。目前我知道的是:

    在local.xml更改Magento backend admin url以后,要Refresh Cache才会生效。

    刚才我试了很久才想到要清除缓存,否则我还以为我没找对地方。

  • Use Analytics to Track Newsletter Open Rate

    I realise it is NOT possible to use Analytics to track newsletter open rate. Because:

    • To track if an email is opened, you put an invisible image into the email with img src calling a tracking program.
    • If you put a web page url as img src, the javascript of the web page won’t run.

    So, in order to track newsletter open rate, you must point img src to a server-side tracking program. Analytics won’t fit for this job because it is client-side script.

    Actually, tracking newsletter open rate is very easy with phpList, which I have been using for long. Simply to [USERTRACK] into the body of the email.