日志分类:Web

Win7 VPN 翻 墙 国内不走VPN, 国外自动走VPN

时间:2011年11月16日作者:Shieh查看次数: 2,551 views评论次数:3

我用的是Win7系统安装 OpenVPN 翻墙的, WinXP 的基本上被我丢弃了, 所以只传播下Windows 7 走VPN的, XP的应该也差不多. 具体可以去 http://code.google.com/p/chnroutes/wiki/Usage 看看, 上面有介绍 Windows, Mac OSX, Linux 等不同操作系统的操作方法. 其实Win7下安装很简单:

  1. 下载安装 OpenVPN, OpenVPN的版本必须V2.1以上.
  2. 下载一个 Route 批处理文件 pre_created_for_win.zip, 解压缩后有4个文件, ‘vpnup.bat’, ‘vpnup.vbs’, ‘vpndown.bat’和’vpndown.vbs’共四个文件, 把这四个文件放在OpenVPN配置文件的 config这个文件夹下, 然后运行vpnup.bat批处理(记得在运行OpenVPN之前运行这个批处理). vpndown 的批处理是清除路由表的, 可以断开VPN之后, 选择运行 vpndown.vbs, 不过貌似不用.
  3. 我用江东的VPN配置的, 东哥的VPN网站, 自己去Google吧, 你懂的. 我就是按照上面设置好后就直接 访问国内网站不走VPN, 国外网站走VPN了, 至于你信不信, 反正我信了.

检验设置是否正确:

设置完毕, 重连openvpn. 你可以分别进入 http://www.cz88.net/http://whatismyipaddress.com/ 这两个网站, 如果配置正确, 在cz88网站上你将看到你的ip显示为连接vpn之前的公网ip, 而另外一个网站则显示为你的vpn服务器的公网ip. (需要注意的是vpnup.vbs其实是调用了vpnup.bat文件, 这个bat文件大概需要1分钟的时间才能完全添加所有路由信息. 也就是说在openvpn-gui显示连接已经完成的时候, 该bat文件还在执行中)

OK, 全部搞定, 完美运行 OpenVPN, 不用担心流量超标问题.

PS:增加一个 Win7开机自动添加路由连接 VPN 的批处理.

第一步,添加路由表。路由表的部分大家应该都做过,把路由添加指令写在bat里,如果你经常在多个网络下切换,网关地址不一致的话,可以用我下面提供的方法来自动获取网关

for /F “tokens=3″ %%* in (‘route print ^| findstr “”‘) do set “gw=%%*”
route add 1.12.0.0 mask 255.252.0.0 %gw% metric 5
route add 1.24.0.0 mask 255.248.0.0 %gw% metric 5
route add 1.45.0.0 mask 255.255.0.0 %gw% metric 5
……

第二步,连接vpn。使用rasdial命令,格式如
rasdial [VPN name] [username] [password]
接下来把这两部分都写在批处理文件里,添加到启动列表即可,不过,由于有时候无线网络获取的比较慢,为防止无法得到网关地址,所以我推荐把批处理添加到任务计划里去,我现在设置的是登录后45秒自动执行,基本可以确保无线网络已经成功连接。

我上传了一个自己的批处理文件到box.net,大家下载后在文件最后修改成自己保存的vpn名称,以及用户名密码即可,下载地址为 http://www.box.com/s/ybjo0pald076uimvaxc9
via.killwall

标签:,,分类:Web

密码设计思路

时间:2011年09月15日作者:Shieh查看次数: 783 views评论次数:4

无意中看到一篇文章写FBI都未能破解的加密硬盘. 原来是用了 TrueCrypt 加密的. 哈哈, 看来可以尝试一下了, 省得我又买金士顿的加密U盘.

新闻来源:solidot.org
FBI在经过一年的尝试后,还是未能破译被巴西执法机构指控金融犯罪的巴西银行家的加密文件。巴西一家葡萄牙语报纸报道(葡萄牙语),巴西联邦警察在 2008年7月展开的Satyagraha行动中,在银行家Daniel Dantas位于里约热内卢的公寓内收缴了5个硬盘。

文章提到硬盘使用了两种加密程序,一种是Truecrypt,另一种是不知名的256位AES加密软件。 在专家未能破解密码后,巴西政府在2009年初请求美国提供帮助,然而美国联邦警察在一年不成功的尝试后,退还了硬盘。 巴西现有的法律中不存在强制要求Dantas交出密码的规定。

另外翻到一篇介绍不错的文章: 如何设计你的密码 via.http://www.h53lyrics.com/?p=206

我现在各种各样的密码恐怕有将近20个,应该说我自认为还是可以记住。这是有技巧的,关键看你会不会设计自己的密码。
设计密码的目的或者说要注意的东西很简单,两个:你自己记得住、别人猜不到(「猜」还包括用程序一个一个去试的那种暴力破解)。

拿我将近20个密码来说,它们的安全性要求是不同的。

比如说我只是为了查看、下载一个东西去注册某个论坛,那密码你爱偷不偷,也没人去偷,所以这种情况要选择一个很简单的密码,不光是记得牢、还要输入得快。 以我拼音打字的经验来讲,我是习惯打全拼而不会愿意去打声母的,因为只打声母我反而要动脑筋,而打全拼已经完全依靠潜意识不经过我的思考了。如果你的情况 跟我一样,那我推荐这种密码用一句简单的话来代替,8-12个字母最佳。举个例子,比如「给我滚」。然后你每次登录这个论坛,输完自己的用户名,按下Tab键,然后猛敲「geiwogun」,你就登进去了——似乎有点儿不应景啊,也许你可以改成「放我出去」「放我进去」之类的。

本来除了全用字母,全用数字也行,但数字输入比不上字母快,也比不上字母安全,数字只有10个,字母有26个,大不一样。我曾经试过暴力破解MD5加密的六位数字的密码,通常几分钟之内就可以完成——那还是台十年前的老电脑了。如果换成六位小写字母,要花的时间就指数倍上升。

这是最简单的密码。如果这个论坛你经常上,发了很多帖子,或者说成了版主,那么你的密码就尽量设计安全一些了。刚刚的密码只用了字母,现在你可以顺便打个标点符号,有了另一种字符的介入,被暴力破解的可能性又会小很多。举个例子,你可以设计成「fangwochuqu!」。然后每次你登录的时候心里就呐喊着「放我出去!」
再说说淘宝的密码,我淘宝和支付宝的密码不算复杂,因为即使你知道了,你最多能登进去看过我买过什么东西,最多能帮我下订单,但你用不了我的钱。如果你不 是卖家,支付宝里没有余额,只是买东西的时候才从银行卡里付款,那你也不用设计太复杂,大概到放我出去加感叹号的地步就可以了。不过你也可以稍微改一下, 增加一点点安全性,那就是大小写字母的问题,刚刚只用了小写字母,现在你可以把其中一些改写成大写字母,比如「Fangwochuqu!」

而凡事涉及到钱的密码,银行卡啊,有余额的支付宝啊,Paypal啊,还包括你最重要的那个邮箱,这些东西还是要把密码再上升一个等级,那就是大小写字母、数字、符号都用上了。这时候密码可能会比较长了,也许有15位左右,有人会觉得这样很难记,其实你要会分段。 这个密码既然又有字母又有符号又有数字,就应该让它分成几个部分,但这几个部分是可以有联系的——当然你觉得你记忆力强也可以没有联系。我这里举个例子, 「MAMAwoaini!65351656」。前面应该能看懂,妈妈我爱你,感叹号——这是一句话,包括标点也是很自然的。后面是什么呢,如果你有相对音 感、会简谱,这时会有点儿优势,65351656是「世上只有妈妈好」的曲调。这样你每次登录的时候,就大喊「妈妈我 爱你」,然后猛敲感叹号,然后唱着小曲「拉索米索哆拉索拉」,你就进去了。——这个举一反三也很简单,比如 「woaiBEIJINGtiananmen?5154321」——一个新的密码诞生了!

如果你不会写谱子当然也没关系,但不要使用自己、恋人、亲人的生日,不要用电话号码、QQ号——虽然说在长密码中加入这些可能被猜到的东西,整个密码泄露的可能性还是很小,但仍然不建议这样干。如果你对一组数字不好记,那你可以选择只要单独的一两个数字,比如「3gedaibiao?!!」——感觉受毒害蛮深的,我想了好久都想不出别的……
还有一种数字变符号的方法,那就是输入数字的时候按住上档键shift(不要使用小键盘),这是你按的是数字,出来的是符号,安全性应该会更高。
小结一下,不同类型的账户需要不同安全性的密码。从简单到复杂大致分成以下三类等级:

纯数字
纯小写字母;纯大写字母

小写字母加数字;大写字母加数字
小写字母加符号;大写字母加符号
大小写字母混杂

大小写字母混杂加数字;大小写字母混杂加符号
大小写字母、数字、符号混杂

当然这没有考虑长度的问题,对于需要安全性高的密码,你应该在保证自己记得住的情况下增加它们的长度
如果你有很多密码,你可以考虑设计一组一组的密码,就拿「MAMAwoaini!65351656」来说:

最简单的密码可以是:mamawoaini
复杂一点:mamawoaini!;MAMAwoaini;MAMAwoaini!
最复杂的:MAMAwoaini!65351656

这样一组密码就生成了,你看这里面就有5个。也许大多数人都可以用类似这样的一组密码设计自己所有的密码。你只需要选择一个你自己熟悉的,但别人又不知道你熟悉的内容作为主题就OK了——一首歌、一句歌词、一部电影、一句台词、半句话,或者一句只有你才会骂的脏话都可以。

但是如果你是一个敏感的人,你要知道国内网站上使用的所有密码都是可能泄露的。那是人为的泄露而非暴力的破解。所以你必须将自己在国内使用的密码和在Gmail、Twitter这些地方使用的密码完全分开,注意,是完全,应该一点边都沾不上,而不是使用像我所说的那种一组密码,这种时候你的密码至少应该有两组,甚至更多。

如果你担心自己记不住,办法当然不是把它写下来,而是仅仅记录每部分的构成,尤其是大小写的变化之类的信息。记录的时候只要自己能看得出来就够了,保留尽可能少的信息,无论是密码本身,还是对应在哪儿用,都是如此。

暂且想到了这么多,介绍自己的经验。主要面向中文且懂拼音的用户,网上会有很多外国人设计密码的方法,我觉得对于中文用户并不特别适用。还有就是,很多网站说「要经常换密码」,但我不知道这有什么好处……

最后,请勿对号入座。不过你要真有兴趣用上面的密码或方法去开我的账户我也不拦你。

TrueCrypt 下载 http://www.truecrypt.org/downloads
TrueCrypt 语言包 http://www.truecrypt.org/localizations

思路很有意思, 也很实用, 可以拿来发散一下思维.

标签:,分类:Web

Drupal7 安装 CKEditor 和 IMCE 模块 及配置

时间:2011年08月19日作者:Shieh查看次数: 2,057 views评论次数:4

习惯了使用所见即所得(Wysiwyg)编辑器, Drupal7 安装 CKEditor 编辑器的方法及配置:

  1. 首先要下载模块和编辑器
    CKEditor Moudle: http://drupal.org/project/ckeditor
    IMCE Module: http://drupal.org/project/imce
    CKEditor 编辑器: http://ckeditor.com/download
  2. 安装 CKEditor MoudleIMCE Moudle
    将解压的 CKEditor Moudle 和 IMCE Moudle 模块分别放到
    sites/all/moudles/ckeditor/
    sites/all/moudles/imce/
    然后将 CKEditor 编辑器压缩包里面的放到 /sites/all/moudles/ckeditor/ckeditor/中, 如下图
    CKEditor
    放好后的路径如:
    /sites/all/moudles/ckeditor/ckeditor/ckeditor.config.js
    /sites/all/moudles/ckeditor/ckeditor/ckeditor_php5.php
    /sites/all/moudles/ckeditor/ckeditor/ckeditor_php4.php
    /sites/all/moudles/ckeditor/ckeditor/ckeditor/plugins/*
    /sites/all/moudles/ckeditor/ckeditor/ckeditor/_samples/*
    /sites/all/moudles/ckeditor/ckeditor/ckeditor/_source/*
    /sites/all/modules/imce/css/*
  3. 在 Modules 中启用 CKEditor 和 ICME 这两个模块.
  4. Home » Administration » Configuration » Content authoring 中配置CKEditor ( 路径为 /admin/config/content/ckeditor)
    选择 Full HTMLedit Operations 进入 CKEditor 配置. ( 路径为 /admin/config/content/ckeditor/edit/Full )
    然后点击 EDITOR APPEARANCE 选项进去, 在显示的表单中有个Toolbar, 这个是配置CKEditor显示哪些操作标签的.
    在默认的这行 ['Image','Media','Flash','Table','HorizontalRule','Smiley','SpecialChar'], 中添加一个 ‘IMCE‘ 这样才能在编辑器里显示 IMCE上传图片的图标.
    添加后为: ['Image','IMCE','Media','Flash','Table','HorizontalRule','Smiley','SpecialChar'],
    接着在 Plugins 中选中 IMCE Window button in toolbar
    Toolbar CKEditor

    最后在 File browser settings 中的
    File browser type (Link dialog)
    File browser type (Image dialog)
    File browser type (Flash dialog)
    三个选项都选择IMCE, 如下图
    File browser settings

  5. OK, 配置完毕, 在 add Content 时选择 FULL HTML就行了.
    另外也可以配置 Filtered HTML, 在 Toolbar配置里面设置一下, 比如我的设置如下

    [
    ['Source'],
    ['Cut','Copy','Paste','PasteText','Undo','Redo'],
    ['Bold','Italic','Underline','Strike','-'],
    ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
    ]

    显示在 Filtered HTML 的效果为:
    Filtered HTML

标签:,,,分类:Web

Drupal7 PathAuto Transliteration Custom SEO Urls

时间:2011年08月19日作者:Shieh查看次数: 709 views评论次数:2

Drupal7 自定义 SEO Urls 要用到三个模块: TokenPathAutoTransliteration 模块, 才能设置我想要的 domain.com/term/node-diyname.html, 注意这里不是 node-title.html 的形式.

  1. 下载安装上面的三个modules 并启用.
  2. 在 PathAuto settings 里面勾选 Transliterate prior to creating alias.
  3. 然后在 PathAuto patterns 里设置 Content paths 的 token URL 样式, 比如我的为:
    [node:field-category]/[node:url:alias].html
  4. add content 的时候先填写 URL alias, 然后勾选 Automatic alias 就可以了.

帝国CMS 用灵动标签调用当前文章的“上一篇”和“下一篇”

时间:2011年07月15日作者:Shieh查看次数: 934 views评论次数:0

WC 的帝国CMS 都出6.6版本了, 丫的虽然提升了一个阶层, 但是还是有些不能满足我的需求, 还得折腾修改代码.下面是用灵动标签调用当前文章的“上一篇”和“下一篇”的技巧.
上一篇:

[e:loop={"select * from [!db.pre!]ecms_表名 where id<'$navinfor[id]' and classid='$navinfor[classid]' and checked=1 order by id desc limit 1",1,24,0}]
<a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank"><?=$bqr[title]?></a>
[/e:loop]

下一篇:

[e:loop={"select * from [!db.pre!]ecms_表名 where id>'$navinfor[id]' and classid='$navinfor[classid]' and checked=1 order by id limit 1",1,24,0}]
<a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank"><?=$bqr[title]?></a>
[/e:loop]

表名改为你对应的数据表, 然后分别在公共变量模板里面建立2个变量,
例如我建立的是
上一篇 [!--temp.infoPrev--]
下一篇 [!--temp.infoNext--]
这样就便于在模板里调用了, 要修改也比较方便.

不足的是, 当“上一篇”或者“下一篇”没有文章时, 调用出来的是空白,而没有内置标签的文字说明.凑合着用吧.

标签:,分类:Web

使用 Google Analytics 跟踪网站404页面

时间:2011年07月09日作者:Shieh查看次数: 642 views评论次数:0

网站的404页面是当访问者输入了错误的地址或者访问了被删除的页面时,服务器返回的错误页面(404 HTTP 状态代码)。这个页面除了告诉访问者页面不存在以外,不提供任何有价值的信息。访问者可能就此离开网站。

了解404页面的信息非常有用,可以发现访问者要查找的内容和推介来源,有助于网站补充新的内容并修复有问题的链接。如何使用Google Analytics 来追踪并显示404页面的情况?Google Analytics 的官方博客介绍了一个简单的方法,使用Google Analytics可以跟踪网站的404页面错误。

1. 将网站的Google Analytics追踪代码添加到404 页面里。

2. 修改404页面的Google Analytics代码,将代码修改为一下形式:

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">// < ![CDATA[
_uacct = "xxxxx-x";
urchinTracker("/404.html?page=" + _udl.pathname + _udl.search);
// ]]></script>

3. 在热门内容报告中即可查看/404.html页面的报告,里面的信息包括出现错误的URL地址,还会显示访问者上一个访问的页面(推介来源)。通过这些信息,可以及时检查相关页面,修改错误链接。

通过自定义 _trackPageview() 函数的参数来标记 404 页面
默认情况下 _trackPageview() 是使用当前页面的相对 URL 作为参数的值,返回给 Google Analytics 服务器,但是我们可以通过给这个函数赋值来更改他的参数值,从而实现标记博客的 404 页面,并且通过过滤来查看网站的所有 404 页面。

如果你和我一样使用 WordPress 博客,把默认的 Google Analytics 跟踪代码的 _trackPageview() 的函数修改如下,假设你使用的是 Google Analytics 异步跟踪代码。

<?php if(is_404()){?>_gaq.push(['_trackPageview', '<?php echo ('/404'.$_SERVER["REQUEST_URI"]); ?>']);<?php } else{ ?>_gaq.push(['_trackPageview']);<?php }?>

上面代码就是如果是 404 页面,就在请求的相对 URL 前面加上 /404,这样在 Google Analytics 后台 > 内容 > 热门内容中,在列表下面,过滤网页中,选择“包含”,输入 /404/ ,点击开始,就可以过滤出所有 404 页面的 URL。via.使用 Google Analytics 分析 WordPress 博客的404页面

另外也可以在 Google Webmaster Tool 里面查看404页面的一些状态以及那些链接了这些404页面。然后及时的修正这些页面404。

WordPress 升级至 3.2

时间:2011年07月09日作者:Shieh查看次数: 801 views评论次数:0

WordPress 3.2 这个版本, 献给著名钢琴家、作曲家 George Gershwin。WP 升级还是挺便捷的, 后台自动升级, 不过还是先备份好数据库先。另一个就是每次必须修改下的, WP 自动保存及版本控制的修改, 方法还是跟3.1版本的一样, 参考 禁用WordPress3.1.x自动保存与历史版本控制这篇的办法修改。

  • WordPress 3.2 开始了全新的后台界面;
  • 全屏文章编辑模式;
  • 对服务器环境要求提高了
    要求: PHP 5.2.4 或更新版本, MySQL 5.0 或更新版本;
  • WP3.2 后台不再支持IE6;
  • WP 3.2 还有一个利用 HTML5 技术制作的全新“Twenty Eleven”主题, 这个版本的新主题挺不错的, 简约美。
标签:分类:Web

Drupal 7 安装升级及中文语言包安装教程

时间:2011年06月21日作者:Shieh查看次数: 2,150 views评论次数:0

Drupal 没看几天就发布 7.2 版本了, 速度有点进步了, 测试 drupal 7.0 升级到 7.2, 跟升级 WordPress 差不多, 备份site/default/settings.php, 删除其他文件, 记得附件或者改动过的文件也要备份. 最好在升级之前用浏览器登陆, 然后停留着, 上传新版本程序文件, 然后在登陆的浏览器里面输入 http://yousite.com/update.php, 按照提示, 升级数据库等.

Drupal7.2 安装及中文语言包安装
1. 到 drupal 的官网(http://drupal.org/project/drupal)下载最新版的 drupal 7, 当前版本为 drupal 7.2.

2. 解压缩 drupal 安装包。安装前将sites\default目录下的 “default.settings.php”复制一份并重命名为“settings.php”, 然后在浏览器下输入http://yousite.com/, 会出现如下安装界面.
drupal7-1

3. 中文语言包安装: 先到drupal官网(http://localize.drupal.org/translate/languages/zh-hans)下载最新的语言文件, 将中文语言包 drupal-7.2.zh-hans.po 文件拷贝至 “/profiles/standard/translations/” 目录下。然后刷新一下浏览器, 你就可以看到有个简体中文的可以选择了:
drupal7-2

4. 接着按照安装界面提示填写数据库名称, 用户名, 密码, 然后是站点信息, 网站邮箱, 管理员账号等之类的, 其实跟一路回车没啥区别, orz.
drupal7-3

Drupal 安装其实跟安装 WordPress 差不多, 好像比安装WP简单. Wahaha.

标签:,分类:Web

最简单的Zen Cart服务器空间搬迁

时间:2011年06月20日作者:Shieh查看次数: 733 views评论次数:0

Zen Cart 从一台服务器转移到另外一台服务器, Zen Cart 网站迁移最简易方法:
1. 停止运行旧的网站
2. 复制旧网站所有 zen cart 文件、目录到新的主机
3. 导出旧网站的数据库
4. 在新的主机上建立 zen cart 数据库,导入旧的数据
5. 设置好数据库用户和权限
6. 修改新网站的两个文件
\includes\configure.php 和 \admin\includes\configure.php
主要是域名、物理路径、数据库名称、数据库用户名、数据库密码
7. 登录新网站的后台,修改
商店设置-日志选项-日志保存到的路径
商 店设置-Sessions-Sessions目录的路径
8. 刷新, 完成

标签:,分类:Web

WordPress Useful Code Script

时间:2011年06月17日作者:Shieh查看次数: 1,140 views评论次数:2

1. 隐藏页面Wordpress版本号, 在主题functions.php文件添加:

// 隐藏版本号
function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator', 'wpbeginner_remove_version');

2. 主题评论添加 Ctrl+Enter 快捷键发表评论. 在 comments.php 中找到以下代码(也就是表单的 textarea):

<textarea name="comment" id="comment" cols="125" rows="12"tabindex="4"></textarea>

修改为:

<textarea name=”comment” id=”comment” cols=”125″ rows=”12″ tabindex=”4″ onkeydown=”if(event.ctrlKey&&event.keyCode==13){document.getElementById(‘submit’).click();return false};”></textarea>

另外一种办法是, 在comments.php的</form>后面添加以下代码:

<script type="text/javascript" language="javascript">
document.getElementById("comment").onkeydown = function (moz_ev)
        {
                var ev = null;
                if (window.event){
                        ev = window.event;
                }else{
                        ev = moz_ev;
                }
                if (ev != null && ev.ctrlKey && ev.keyCode == 13)
                {
                        document.getElementById("submit").click();
                }
        }
</script>

待续…

标签:,,分类:Web