九种混淆email地址的方法比较译言-电脑网络 » 车东's shared items in Google Reader
Shared by Dash

原文作者:Silvan Mühlemann
原文链接:Nine ways to obfuscate e-mail addresses compared
翻译:blankyao

当在一个网站上显示e-mail地址的时候你肯定会混淆它以防止收到spammers的攻击。但是哪种混淆方法是最好的呢?我发起了一个测试来找出答案。下面是实验的结果。 2006年的时候我开通了9个不同的e-mail地址。在这个页面我发布了这几个e-mail地址。但是每个e-mail地址都用不同的方法混淆过了。我可以肯定通过在tilllate.com首页加一个链接而被Google索引了。 然后我等了1.5年(查看原来的文章)。 我数了下个e-mail地址收到的spam的数量。收到的spam数量从21M开始(没有使用任何混淆方法,收到了1800封spam邮件),然后逐渐下降到没有任何spam。 下面三种方法绝对坚如磐石而且可以避免你的地址收到攻击者的伤害。

1.用css来改变代码的方向

Here’s how you do it:

  1. <style type="text/css">
  2. span.codedirection { unicode-bidi:bidi-override; direction: rtl; }
  3. </style>
  4. <p><span class="codedirection">moc.etalllit@7raboofnavlis</span></p>

2.使用css的display:none

  1. <style type="text/css">
  2. p span.displaynone { display:none; }
  3. </style>
  4. <p>silvanfoobar8@<span class="displaynone">null</span>tilllate.com</p>

3.加密

ROT13加密e-mail地址可以通过使用这个工具或者php的str_rot13函数,然后通过javascript来解密。
  1. <script type="text/javascript">
  2. document.write("<n uers=\"znvygb:fvyinasbbone10@gvyyyngr.pbz\" ery=\"absbyybj\">".replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<="Z"?90:122)>=(cc=c.charCodeAt(0)+13)?c:c-26);}));
  3. </script>silvanfoobar's Mail</a>
感谢Christoph Burgdorfer的这种方法。

添加评论

相关文章:

  Ruby on Rack #1 - 与Rack的第一次亲密接触

  Ruby On Rails 安全导读(完结)

  web2.0之后是什么

22:52 How to calculate a good InnoDB log file size » MySQL Performance Blog

Peter wrote a post a while ago about choosing a good InnoDB log file size.  Not to pick on Peter, but the post actually kind of talks about a lot of things and then doesn't tell you how to choose a good log file size!  So I thought I'd clarify it a little.

The basic point is that your log file needs to be big enough to let InnoDB optimize its I/O, but not so big that recovery takes a long time.  That much Peter covered really well.  But how do you choose that size? I'll show you a rule of thumb that works pretty well.

In most cases, when people give you a formula for choosing a configuration setting, you should look at it with skepticism.  But in this case you can calculate a reasonable value, believe it or not.  Run these queries at your server's peak usage time:

SQL:
  1. mysql> pager grep sequence
  2. PAGER SET TO 'grep sequence'
  3. mysql> SHOW engine innodb STATUS\G SELECT sleep(60); SHOW engine innodb STATUS\G
  4. Log sequence number 84 3836410803
  5. 1 row IN SET (0.06 sec)
  6.  
  7. 1 row IN SET (1 min 0.00 sec)
  8.  
  9. Log sequence number 84 3838334638
  10. 1 row IN SET (0.05 sec)

Notice the log sequence number. That's the total number of bytes written to the transaction log. So, now you can see how many MB have been written to the log in one minute. (The technique I showed here works on all versions of MySQL. In 5.0 and newer, you can just watch Innodb_os_log_written from SHOW GLOBAL STATUS, too.)

SQL:
  1. mysql> SELECT (3838334638 - 3836410803) / 1024 / 1024 AS MB_per_min;
  2. +------------+
  3. | MB_per_min |
  4. +------------+
  5. | 1.83471203 |
  6. +------------+

As a rough rule of thumb, you can make the log big enough that it can hold at most an hour or so of logs. That's generally plenty of data for InnoDB to work with; an hour's worth is more than enough so that it can reorder the writes to use sequential I/O during the flushing and checkpointing process. At this rate, this server could use about 110 MB of logs, total. Round it up to 128 for good measure. Since there are two log files by default, divide that in half, and now you can set

CODE:
  1. innodb_log_file_size=64M

Does that look surprisingly small? It might. I commonly see log file sizes in the gigabyte ranges. But that's generally a mistake. The server I used for the measurements above is a big one doing a lot of work, not a toy. Log file sizes can't be left at the default 5MB for any real workload, but they often don't need to be as big as you might think, either.

If this rule-of-thumb calculation ends up showing you that your log file size ought to be many gigabytes, well, you have a more active write workload. Perhaps you're inserting a lot of big rows or something. In this case you might want to make the log smaller so you don't end up with GB of logs. But also realize this: the recovery time depends not only on the total log file size, but the number of entries in it. If you're writing huge entries to the log, fewer log entries will fit into a given log file size, which will generally make recovery faster than you might expect with a big log.

However, most of the time when I run this calculation, I end up finding that the log file size needs to be a lot smaller than it's configured to be. In part that's because InnoDB's log entries are very compact. The other reason is that the common advice to size the logs as a fraction of the buffer pool size is just wrong.

One final note: huge buffer pools or really unusual workloads may require bigger (or smaller!) log sizes. This is where formulas break down and judgment and experience are needed. But this "rule of thumb" is generally a good sane place to start.


Entry posted by Baron Schwartz | No comment

Add to: delicious | digg | reddit | netscape | Google Bookmarks

17:19 链接架构的重要性 » 谷歌中文网站管理员博客
发表者: Maile Ohye, 开发者项目技术带头人

原文:Importance of link architecture
发表于:2008年10月6日星期一 晚上10:51

作为链接专题系列的第二篇, 我们想与您讨论一下链接架构的重要性,并且回答您相关的问题。链接架构---您网站的内部链接方式——是您在网站规划中的重要部分,并对您的网站被搜索引擎的索引状况有重要影响。它也对谷歌机器人是否能找到您的各个网页并进而使用户能顺利访问到它们的起到决定作用。

确保您的核心网页只需通过首页的几次点击就能到达

您或许会认为比起目录式导航来说,用户可能更喜欢使用您网站上的搜索框,但是您的这种做法经常会为搜索引擎爬虫设置障碍,因为他们几乎无法做到在搜索框里输入文字搜索或在下拉菜单里浏览。因此,您需要确认您的重要网页都可以从首页点击访问,并让Googlebot方便地遍历您的网站。您最好建立一个链接架构,这样既便于用户浏览,也便于搜索引擎抓取。下面是一些具体的建议:

符合用户习惯的导航设置

您应该尝试将自己代入“用户”的角色,模拟用户的习惯来设计您的网站。比如说,如果您的网站是关于篮球的,想象您是一个想了解最佳运球技巧的访问者。
为搜索引擎设置可抓取的链接           这个<a href="/new-page.html">文字链接</a>容易被搜索引擎发现。
使用描述性定位文字(anchor text)

描述性的定位文字,也就是通常看到的在链接中可以点击的词语,是一个对搜索引擎和用户很有帮助的信号。通过您的内容、标题、定位文字等等,Google越了解您的网站,就能为搜索用户(其中很可能包含您的潜在用户)返回越相关的结果。比如,如果您在运营一个篮球网站,并且您想通过文字链接为用户提供一些视频的话,很多网站管理员是这样设置链接的:

如果您想观看我们的篮球视频,请<a href="videos.html">点击这里 </a>浏览视频列表。

我们不建议您使用这种泛泛的“请点击这里”,我们建议您将定位文字替换成更具描述意义的文字,例如:

欢迎您观赏我们的<a href="videos.html">篮球视频</a>

确认Googlebot”能够找到您的内部链接

对于已经验证了对网站权限的用户,网站管理员工具提供了“链接> 含内部链接的网页”的功能,这是一个非常有利于验证Googlebot已经成功地找到了您所期望的链接的功能。特别是当您的网站在导航中使用了JavaScript(Googlebot通常不能很好运行并抓取)等技术的时候,你可能很想知道自己的其他内部链接到底是否被Googlebot成功地识别了。

这里有一个关于“网站管理员中心404专题周”的内部链接的屏幕截图。我们的内部链接正如我们预期的一样,都被成功发现了。



欢迎您就内部链接的话题提出您的问题
这里是其中的一部分...

问:我可以使用rel="nofollow"来是我们内部链接的Page Rank流动最大化么?
答:我们自身实际上也是在Google工作的网站管理员,您所考虑的这些实际上不是我们会花时间考虑的。换句话说,如果您的网站已经有了很好的链接架构,那么与其经常担心自己的PageRank,倒不如把更多的精力投入到为用户提供更好的内容上面。

Matt Cutts曾经在网站管理员帮助论坛上回答过“合理使用nofollow”的问题

问:比如我的网站是关于我的自行车和露营两大爱好的。我应当让我的内部链接架构主题化组织,而不在两者之间互相链接么?

答:我们目前为止还没有发现过有网站管理员通过刻意将他们的链接架构高度主题化而从中受益的。同时,如果一个访问者不能方便地访问您网站的各部分的时候,这通常意味着,这种结构对搜索引擎的抓取也是有障碍的。

这里请允许我们再重复一遍,请您尽量创建固定并合理的链接架构(包括符合用户习惯的导航设置和为搜索引擎设置可抓取的链接),并积极实行一些对您的用户和他们的使用体验都有益处的措施。

谢谢您阅读这篇文章! 关于导入链接的文章即将作为链接专题系列的第三篇发表。如果您有关于内部链接的好的建议或问题的话,欢迎您在本文后或网站管理员支持论坛中发表。
网站运维之道 关于可用性DBA notes » 车东's shared items in Google Reader

作者:Fenng 发布在 dbanotes.net. BLOG 订阅数量,点击则可进行订阅

这是前一段时间投稿给《程序员》的一篇文章。标题中的"道"有些大了,您可以理解为"门道"的"道"。一家之言,妄自言道,诚可笑也。

什么是网站运维(Web operations) ?运维,绝不是某些人眼中安装系统、做几根网线那么简单? 除去应用开发和业务运营之外的保障网站能运转的事儿都可能是运维工作的职责范围。运维的工作包括(但不限于) 软硬件部署、网络管理、应用程序维护、安全、容量规划、故障修复等等。

运维,有别于"运营"。在中文的语境中,运营更多和业务结合在一起的。而运维,则是偏向技术层面。

任何一个成功的站点都离不开一只优秀的运维团队,尽管他们更多时候隐身在网站背后不为人知。

网站可用性

所谓网站可用性(availability)也即网站正常运行时间的百分比,这是每个运营团队最主要的 KPI (Key Performance Indicators ,关键业绩指标)。对于 Web 站点来说,传统的那个 24x7 的说法已经不是很适用了,现在业界更倾向用 N 个9 来量化可用性, 最常说的就是类似 "4个9(也就是99.99%)" 的可用性。看一下表 1 能更为直观一些。

描述 通俗叫法 可用性级别 年度停机时间
基本可用性 2个9 99% 87.6小时
较高可用性 3个9 99.9% 8.8小时
具有故障自动恢复能力的可用性 4个9 99.99% 53分钟
极高可用性 5个9 99.999% 5分钟

根据墨菲定理的推论,世界上没有 100% 可靠的 Web站点(除非不运行)。业界网站的可用性都是多少?引人注目的 Web 新贵 Twitter (http://twitter.com), 2008 年前四个月的可用性只有 98.72%,有 37小时 16分钟不能提供服务,连2个9 都达不到,甚至还没达到"基本可用"状态。电子商务巨头 eBay 2007 年的可用性是 99.94%,考虑到 eBay 站点的规模与应用的复杂程度,这是个很不错可用性指标了。Web 应用类型决定了不同的站点对可用性的依赖性是不同的。 要知道 4 个 9 的可用性实际上是很难实现的目标。至于 5 个9 的 Web 站点,一半靠内功,另一半恐怕是要靠点运气。

wikimedia_db2.png
(图1 维基百科网站的一台数据库服务器的可用情况报告, 由Nagios的监控得到的)

多数情况下,网站可用性会是 SLA (Service Level Agreement, 服务水平协议) 中的一个重要度量指标,也是运维团队向自己的客户(更多是公司老板)的正式承诺。可用性是能够持续改进的东西,KPI 制定者切不可狮子大开口,企图一步登天,拍拍脑袋提一些不太切实的指标。运维团队对可用性的承诺也不能开些空头支票,到头来两头难看。值得强调的是,如果是做第三方托管,更需要明确 SLA,明了第三方的服务能力,否则,费尽了九牛二虎之力终于保证了软硬件网络等环节都没问题了,IDC 却频繁断电或者IDC 出口网络不可用,这也绝对做不到预期的高可用性。

提高可用性的一些常规策略有消除单点,部署冗余设备(或集群),配置带外管理网络等,对可用性要求不高的网站这些可能足够了。如果要提供更高的可用性,比如 4 个 9 甚至 5 个9,就不是简单靠硬件就能做到的事情,还需要建立完善的流程制度、建立变更机制、提升事故响应速度等。正所谓是"没有最高可用,只有更高可用性"。

一般来说,所有的网站运维人员都在追求网站的更高级别的高可用性,但是必须注意,这是以额外的软硬件投入、更多的人力成本为代价的。成本与可用性之间也请做到良好的平衡,盲目追求高可用性是不可取的。

(补充:Twitter 的可用性现在已经有了很大提升,但是可以看到,可用性不佳并非一个网站的杀手,只要产品对用户足够友好,足够有粘度,足够不可或缺,那么可用性并非是第一要追求的运维目标。有些运维人员被 Amazon 的某年圣诞节期间宕机所造成的影响埋下心理阴影,其实没那么可怕,如果真的觉得可怕,那么你可能被一些厂商销售人员洗脑了。)

未完待续: 下一篇《监控与报警》


相关文章|Related Articles

评论数(6)|添加评论 | 最近作者还说了什么? Follow Fenng@Twitter

本文网址:http://www.dbanotes.net/web/web_operations_availability.html

DBA Notes 理念: 用最简约的技术取得最大的收益...


^==Back Home: www.chedong.com

^==Back Digest Home: www.chedong.com/digest/

<== 2008-11-20
  十一月 2008  
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
==> 2008-11-22