<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>邪罗刹的菠萝阁 &#187; dabr</title>
	<atom:link href="http://www.rainmoe.com/tag/dabr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rainmoe.com</link>
	<description>One code, one world ...</description>
	<lastBuildDate>Thu, 29 Dec 2011 14:04:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>如何为Dabr增加用户头像缓存功能</title>
		<link>http://www.rainmoe.com/2010/04/29/add-avatar-cache-to-dabr/</link>
		<comments>http://www.rainmoe.com/2010/04/29/add-avatar-cache-to-dabr/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 19:05:57 +0000</pubDate>
		<dc:creator>小邪</dc:creator>
				<category><![CDATA[代码 [Code]]]></category>
		<category><![CDATA[avatar]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[dabr]]></category>

		<guid isPermaLink="false">http://www.evlos.org/?p=1939</guid>
		<description><![CDATA[> 嘿嘿，折腾就是一种乐趣呐。小邪需要充满创意的生活，所以总是无尽地折腾着呐，O(∩_∩)O。

> 这篇文章的配图有点儿老了，呵呵。因为小邪总是有点子就新建草稿，所以发布就迟了一些呐。



<span class="readmore"><a href="http://www.rainmoe.com/2010/04/29/add-avatar-cache-to-dabr/" title="如何为Dabr增加用户头像缓存功能">阅读全文——共1015字</a></span>]]></description>
			<content:encoded><![CDATA[<p>> 嘿嘿，折腾就是一种乐趣呐。小邪需要充满创意的生活，所以总是无尽地折腾着呐，O(∩_∩)O。<br />
> 这篇文章的配图有点儿老了，呵呵。因为小邪总是有点子就新建草稿，所以发布就迟了一些呐。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000267.png' /></p>
<p><span id="more-1939"></span>> 这篇文章给 Dabr 增加了用户头像缓存功能，毕竟这个头像服务器也蛮脆弱的，有延迟很不爽。<br />
> 其实代码还是老代码，是给 WP 增加头像缓存的代码来着。不过很多老的东西还是很实用，嘻。</p>
<p><strong>一. Dabr 用户头像缓存功能：</strong></p>
<p>> 直接修改 Dabr 程序中的这个文件即可 - /common/twitter.php，首先我们找到下面这个函数。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
function theme_avatar($url, $force_large = false) {
  $size = $force_large ? 48 : 24;
  return &quot;&lt;img src='$url' height='$size' width='$size' /&gt;&quot;;
}
</pre>
<p>> 然后修改成下面这样子即可，程序会自动创建 /ava/ 文件夹来存放头像缓存文件，O(∩_∩)O。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
function theme_avatar($url, $force_large = false) {
  $size = $force_large ? 48 : 24;
  $dir = './ava/';
  if (!is_dir($dir)) { mkdir($dir); }
  $time = 1209600;
  preg_match('/[^\/]*$/i',$url,$name);
  $local = $dir.$name[0];
  if (!is_file($local)||(time()-filemtime($local))&gt;$time){
    copy($url,$local);
  }
  return &quot;&lt;img src='$local' height='$size' width='$size' /&gt;&quot;;
}
</pre>
<p><strong>二. 生活手记：</strong></p>
<p>> 最近荷兰的天气突然开始升温了，速度升的好快，大家都变成了穿短袖的样子，太阳也出来了。<br />
> （- -||)，其实从初到荷兰到现在，还木有看见过多少次的太阳，最近天天看着反而不习惯了。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/IMAG0160.jpg' /></p>
<p>> 第一张照片是初到荷兰的样子，一直天气阴云密布的，不过小邪也很喜欢下雨天的呐，嘿嘿。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/IMAG0123.jpg' /></p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/IMAG0122.jpg' /></p>
<p>> 上面两张则是最近几天在公园里面照的，这里公园的景色真不赖，呵呵，尾气排放也很干净。<br />
> 嘿嘿，就这样，文章不应该写得很长长长长长长长长长长，所以就这样结尾了喔，O(∩_∩)P。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rainmoe.com/2010/04/29/add-avatar-cache-to-dabr/feed/</wfw:commentRss>
		<slash:comments>62</slash:comments>
		</item>
		<item>
		<title>小邪Dabr修改版与模板修改手记</title>
		<link>http://www.rainmoe.com/2010/02/11/my-notes-of-edited-the-dabr/</link>
		<comments>http://www.rainmoe.com/2010/02/11/my-notes-of-edited-the-dabr/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 07:16:22 +0000</pubDate>
		<dc:creator>小邪</dc:creator>
				<category><![CDATA[作品 [Work]]]></category>
		<category><![CDATA[dabr]]></category>

		<guid isPermaLink="false">http://www.evlos.org/?p=1930</guid>
		<description><![CDATA[> 嘻嘻，那么这次小邪就把自己现在在用的 Dabr 修改版发布出来，同时送给大家一个 App Key。

> 这样子大家就不用去 Tw 官方去申请 Key 了，若用 0auth 登录此 Key 会显示 From 囧人国。



<span class="readmore"><a href="http://www.rainmoe.com/2010/02/11/my-notes-of-edited-the-dabr/" title="小邪Dabr修改版与模板修改手记">阅读全文——共1879字</a></span>]]></description>
			<content:encoded><![CDATA[<p>> 嘻嘻，那么这次小邪就把自己现在在用的 Dabr 修改版发布出来，同时送给大家一个 App Key。<br />
> 这样子大家就不用去 Tw 官方去申请 Key 了，若用 0auth 登录此 Key 会显示 From 囧人国。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000104.jpg' /></p>
<p>> 杯具，听 <a target='_blank' rel='nofollow' href='http://www.imbolo.com/'>Bolo</a> 说还有个叫奶瓶腿的东东，据说也是 Dabr 的修改版，小邪去看看去，╮(╯▽╰)╭。<br />
> 额，那 Alex 自定义文本 API 就明天再发布好咯，嘎嘎，小邪现在老喜欢用自己的程序，囧。</p>
<p><span id="more-1930"></span><strong>一. Dabr 程序与模板修改手记：</strong></p>
<p>> 此次的修改针对电脑浏览器界面的显示，而对手机完全没有影响，小邪用 Hero Uc 试过了喔。<br />
> 文章要短，所以太长的部分小邪以后就不放在文章里面了喔，另外开一篇不在RSS的文章来放。</p>
<p>> 传送门 - <a target='_blank' href='http://www.evlos.org/2009/01/03/more_my-notes-of-edited-the-dabr'>http://www.evlos.org/2009/01/03/more_my-notes-of-edited-the-dabr</a></p>
<p><strong>二. 目前小邪使用的 Dabr 修改版下载：</strong></p>
<p>> 嘻嘻，Google Code 终于复活啦 O(∩_∩)O哈，那么就可以请大家过传送门到这里去下喔。<br />
> Dabr-by-evlos 项目主页强力传送门 - <a target='_blank' rel='nofollow' href='http://code.google.com/p/dabr-by-evlos'>http://code.google.com/p/dabr-by-evlos</a><br />
> v1.00 版本的下载传送门 - <a target='_blank' rel='nofollow' href='http://dabr-by-evlos.googlecode.com/files/idabr.zip'>http://dabr-by-evlos.googlecode.com/files/idabr.zip</a></p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000105.jpg' /></p>
<p>> 使用时候注意，如果不是放在二级域名，那么请按照小邪的上一篇文章修改 .Htaccess。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
# RewriteBase /app/idabr/
//这里把 .Htaccess 文件中的上面这一行去掉井号，然后修改成下面这样既可。
RewriteBase /你的 Dabr 相对路径/
</pre>
<p>> 然后其他需要你自己修改的地方只有，Config 里面第一个 ENCRYPTION_KEY 的内容了。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
define('ENCRYPTION_KEY', 'fuckgfwasassadasaa');
//把 fuckgfwasassadasaa 这串字符随意修改一下即可，乱打一通就好喔。
</pre>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
function config_log_request() {
//..................
  $allowed_users = array(
    'angelsolo'
  );
//你只要把这里的 angelsolo 修改成你自己的账号就好了喔。
//................ （表示代码省略）
}
</pre>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
$dabr_psw = '112233';
//还有 Chk.php 文件里面的这个 112233 修改为你需要的密码即可。
</pre>
<p>> 在这里，小邪把自己的一个 Key 送给大家，就不需要翻墙去申请了喔，From 囧人国。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
define('OAUTH_CONSUMER_KEY', 'CQ3DajDWuOUN0IWaSGIwIQ');
define('OAUTH_CONSUMER_SECRET', 'mWIlcs5TCPAaV6JwwTPR6fydq28J6fUYWmffeJx0');
</pre>
<p>> 最后，登录方法为 Dabr地址/?to=你设置的密码，这样，Cookies 的保存时间为 1 年。<br />
> 当然罗，因为 Cookies 是保存在浏览器里面的嘛，所以换一台电脑就请重新登录了喔。<br />
> 登陆成功之后，以后再在同一台电脑想要进入 Dabr，就不用加上 /?to=你设置的密码了。</p>
<p><strong>三. 菠萝阁奇趣发现：</strong></p>
<p><strong>1. 邪罗刹的维基：</strong></p>
<p>> 呵呵，小邪最近的资料代码都太乱太杂了，所以不得不使用维基来管理代码库和学习资料。<br />
> 代码库暂时不开放了，因为很多代码都是小邪直接从自己的程序里面，直接给复制出来的说。<br />
> 所以不能直接使用，而是需要互相之间一起用才行喔，等小邪把代码全部修复再共享咯。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000102.jpg' /></p>
<p>> 传送门要长长长长长才够淫荡 - <a target='_blank' rel='nofollow' href='http://tool.evlos.org/wiki/doku.php'>http://tool.evlos.org/wiki/doku.php<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rainmoe.com/2010/02/11/my-notes-of-edited-the-dabr/feed/</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>如何搭建一个带简单保护的Dabr</title>
		<link>http://www.rainmoe.com/2010/02/09/how-to-build-a-pretected-dabr/</link>
		<comments>http://www.rainmoe.com/2010/02/09/how-to-build-a-pretected-dabr/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 14:38:37 +0000</pubDate>
		<dc:creator>小邪</dc:creator>
				<category><![CDATA[探索 [Explore]]]></category>
		<category><![CDATA[dabr]]></category>

		<guid isPermaLink="false">http://www.evlos.org/?p=1925</guid>
		<description><![CDATA[> 囧，今天小邪很郁闷，本来这篇文章应该在早上就发出来的。但是小邪一直无法打开菠萝阁呐。

> 因为今天美国的 Level3 线路几乎抽搐了一整天，特别杯具，一直抽搐到老美起床的时间额。



<span class="readmore"><a href="http://www.rainmoe.com/2010/02/09/how-to-build-a-pretected-dabr/" title="如何搭建一个带简单保护的Dabr">阅读全文——共3614字</a></span>]]></description>
			<content:encoded><![CDATA[<p>> 囧，今天小邪很郁闷，本来这篇文章应该在早上就发出来的。但是小邪一直无法打开菠萝阁呐。<br />
> 因为今天美国的 Level3 线路几乎抽搐了一整天，特别杯具，一直抽搐到老美起床的时间额。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000093.jpg' /></p>
<p>> 这篇文章的亮点是 Cookies 密码保护防止未授权（你同不同意他使用）用户打开你的 Dabr。<br />
> 额，主要是为了防止小邪可爱的 Evlos.org 域名被墙才这样做的。然后是如何白名单限制登陆。</p>
<p><span id="more-1925"></span><strong>一. 如何搭建一个带简单保护的Dabr：</strong></p>
<p>> 注意喔，我们的宗旨是 - 在防止自己的站点被墙的同时，强力推广 Twitter，让大家一起玩。</p>
<p><strong>1. 下载 Dabr：</strong></p>
<p>> 如果你有 SVN 工具的话，那就最好啦 O(∩_∩)O，请使用工具通过下面这个地址来下载喔。<br />
> 如果木有 SVN 工具的话，小邪提供了下面几种方法给你下载，嘎嘎，有官方也有小邪自己的。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
svn checkout http://dabr.googlecode.com/svn/trunk/ dabr-read-only
</pre>
<p>> 下载传送门要长长的才够淫荡喔 - <a target='_blank' rel='nofollow' href='http://dabr.googlecode.com/files/dabr-r267.zip'>http://dabr.googlecode.com/files/dabr-r267.zip</a></p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
Project hosting will be READ-ONLY Wednesday at 8am PST due to brief network maintenance.
</pre>
<p>> ╮(╯▽╰)╭，因为官方发布了以下暂停写入的公告，所以小邪没办法把自己修改后的发上去呢。<br />
> 所以暂时请直接通过官方来下载吧，呵呵，官方的也不差啦，只好请大家自己修改一下咯。</p>
<p><strong>2. 如何安装：</strong></p>
<p>> 首先最先要做的事情呢，是咱们得把 Config.sample.php 的文件名称修改为 Config.php。<br />
> 然后想办法到 https://twitter.com/oauth_clients 这个地址去获取你的 Application Key。<br />
> 呵呵，强力建议使用二级域名或者单独的域名来搭建喔，不然还要修改 .htaccess 文件。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/Cap0000094.jpg' /></p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
define('ENCRYPTION_KEY', '在这里填任意的 52 个以内的字符来标记你的 Cookies');

define('OAUTH_CONSUMER_KEY', '替换为你的 OAuth Consumer keys');
define('OAUTH_CONSUMER_SECRET', '替换为你的 OAuth Secret keys');

$base_url = 'http://'.$_SERVER['HTTP_HOST'];
if ($directory = trim(dirname($_SERVER['SCRIPT_NAME']), '/\,')) {
  $base_url .= '/'.$directory;
}
define('BASE_URL', $base_url.'如果是在根目录的话就填 /，如果在其他目录就填相对路径');
</pre>
<p><strong>3. 如何注册 API Key：</strong></p>
<p>> 申请页面传送门 - <a target='_blank' rel='nofollow' href='http://u.evlos.org/link.php?https://twitter.com/oauth_clients'>https://twitter.com/oauth_clients</a></p>
<p>|--- [图被鬼吃掉了]</p>
<p>> 看图中，Application Type 选择 Browser，Default Access type 选择 Read &#038; Write。<br />
> 然后还要勾选最后一项，Callback URL 处填写 “你的域名/oauth”，Websites 填你的网站。<br />
> 比如小邪的是 http://t.evlos.org/oauth，接着得到 Twitter API 里面的两个 App Keys。</p>
<p><strong>4. 如何不放在根目录（强烈不推荐使用）：</strong></p>
<p>> 呵呵，只要依次按照下面代码中，小邪写在那里的注释操作即可，要修改的文件是 .Htaccess。<br />
> 这个 .Htaccess 文件不需要放到网站根目录，只要放在 Dabr 的目录里面即可有效使用了额。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
RewriteEngine on
RewriteBase /
# 重点就是上面这一行了，修改为你的目录的相对路径，然后添加到此文件的这个位子即可
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</pre>
<p><strong>5. 防止搜索引擎索引：</strong></p>
<p>> 新建一个 robots.txt 文件，然后保存下面内容放在根目录，这样搜索引擎就无法索引鸟。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
User-Agent: *
Disallow: /
</pre>
<p>> 上面的样式是放在站点根目录的样子，即我们开通了 T.evlos.org 这样的二级域名来用。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
User-Agent: *
Disallow: /global/dabr/
</pre>
<p>> 如果一定不想放在站点根目录呢，那么就把站点根目录如果有 robots.txt 就添加一行。<br />
> 添加的话就只要上面内容的第二行，然后添加到类似的地方即可，如果没有此文件就新建。</p>
<p><strong>6. 防止直接暴露目录：</strong></p>
<p>> 很多的服务器设置是如果你的某个目录没有类似 index.php 这样的默认文档的话。<br />
> 就会直接显示一个这个目录的文件列表的页面，这样子就会把文件给暴露出来了。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
# 要在 .Htaccess 文件中加入下面这一行喔，以防万一其他人可以直接看到你的目录文件
Options All -Indexes
</pre>
<p><strong>7. 带密码的 Cookies 保护：</strong></p>
<p>> 我们来修改 index.php 文件，在 php 标签的下方添加如下的很短的代码来引用 Chk.php。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
include 'chk.php';
</pre>
<p>> 然后我们将下面的内容保存为 Chk.php 文件，放在 Dabr 的根目录即可，还要修改点东东。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
&lt;?php
$dabr_psw = '你给自己设置的密码';
if (!isset($_GET['to'])&amp;&amp;!isset($_COOKIE['dabr_access'])) {
	echo 'Unallow user ..';
	exit;
}
else {
	if (isset($_COOKIE['dabr_access'])) {
		$dabr_co = $_COOKIE['dabr_access'];
		if ($dabr_co&lt;&gt;md5($dabr_psw)) {
			echo 'Cookies error ..';
			setcookie('dabr_access','',time()-31536000);
			exit;
		}
	}
	else if (isset($_GET['to'])) {
		$dabr_to = $_GET['to'];
		if ($dabr_to==$dabr_psw) {
			setcookie('dabr_access',md5($dabr_to),time()+31536000);
		}
		else {
			echo 'Password error ..';
			exit;
		}
	}
}
?&gt;
</pre>
<p>> 登录方法，Dabr 目录/?to=你设置的密码，比如小邪的是 http://t.evlos.org/?to=密码。<br />
> 这样用一次即可，就会保存到 Cookies 里面去了喔，O(∩_∩)O哈，小邪自己觉得蛮好的。</p>
<p><strong>8. 登陆账号白名单：</strong></p>
<p>> 在 Config.php 中添加下面这个函数，然后 Dabr 就会自动用上去的，按里面注释做即可。</p>
<pre class="brush: php; auto-links: false; html-script: false; title: ; notranslate">
function config_log_request() {
  if (!user_is_authenticated()) return;
  $allowed_users = array(
    '在这里添加你自己的账号'
    ,'添加第二个白名单账号'
  ); //不需要的话就删除上面第二行，如何还要添加，就按照这行新建一行或几行
  if (!in_array(strtolower(user_current_username()), $allowed_users)) {
    user_logout();
    die(&quot;Sorry, you're not on the list of allowed users for this site.&quot;);
  }
}
</pre>
<p><strong>9. 申请服务器白名单：</strong></p>
<p>> 白名单 IP(s) 申请表单填写传送门 - <a target='_blank' rel='nofollow' href='http://u.evlos.org/link.php?https://twitter.com/help/request_whitelisting'>https://twitter.com/help/request_whitelisting</a></p>
<p>> 呵呵，这里的教程小邪就不详细写鸟，因为，小邪没有申请成功，额，是申请用词不当鸟。<br />
> 呜呜呜呜，小邪本来想偷偷给盆友们用的，只要告诉他们密码就可以了，但是没有申请成功。</p>
<p><strong>二. 菠萝阁奇趣发现：</strong></p>
<p>> 嘻嘻，在推上面看到 @obugs （第三眼）推出来的呢，给大家一起欣赏一下喔，太美了。</p>
<p><img src='http://www.rainmoe.com/wp-content/uploads/old/lots_snowmans.jpg' /></p>
<p><strong>三. 欢迎来 Follow 小邪的 Twitter <a target="_blank" rel="nofollow" href="http://twitter.com/angelsolo">@AngelSolo</a></strong> 。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rainmoe.com/2010/02/09/how-to-build-a-pretected-dabr/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached (Feed is rejected)
Page Caching using memcached
Database Caching 1/17 queries in 0.011 seconds using memcached
Object Caching 329/360 objects using memcached

Served from: www.rainmoe.com @ 2012-02-09 16:41:58 -->
