> 囧,今天小邪很郁闷,本来这篇文章应该在早上就发出来的。但是小邪一直无法打开菠萝阁呐。
> 因为今天美国的 Level3 线路几乎抽搐了一整天,特别杯具,一直抽搐到老美起床的时间额。

> 这篇文章的亮点是 Cookies 密码保护防止未授权(你同不同意他使用)用户打开你的 Dabr。
> 额,主要是为了防止小邪可爱的 Evlos.org 域名被墙才这样做的。然后是如何白名单限制登陆。
一. 如何搭建一个带简单保护的Dabr:
> 注意喔,我们的宗旨是 - 在防止自己的站点被墙的同时,强力推广 Twitter,让大家一起玩。
1. 下载 Dabr:
> 如果你有 SVN 工具的话,那就最好啦 O(∩_∩)O,请使用工具通过下面这个地址来下载喔。
> 如果木有 SVN 工具的话,小邪提供了下面几种方法给你下载,嘎嘎,有官方也有小邪自己的。
svn checkout http://dabr.googlecode.com/svn/trunk/ dabr-read-only
> 下载传送门要长长的才够淫荡喔 - http://dabr.googlecode.com/files/dabr-r267.zip
Project hosting will be READ-ONLY Wednesday at 8am PST due to brief network maintenance.
> ╮(╯▽╰)╭,因为官方发布了以下暂停写入的公告,所以小邪没办法把自己修改后的发上去呢。
> 所以暂时请直接通过官方来下载吧,呵呵,官方的也不差啦,只好请大家自己修改一下咯。
2. 如何安装:
> 首先最先要做的事情呢,是咱们得把 Config.sample.php 的文件名称修改为 Config.php。
> 然后想办法到 https://twitter.com/oauth_clients 这个地址去获取你的 Application Key。
> 呵呵,强力建议使用二级域名或者单独的域名来搭建喔,不然还要修改 .htaccess 文件。

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.'如果是在根目录的话就填 /,如果在其他目录就填相对路径');
3. 如何注册 API Key:
> 申请页面传送门 - https://twitter.com/oauth_clients
|--- [图被鬼吃掉了]
> 看图中,Application Type 选择 Browser,Default Access type 选择 Read & Write。
> 然后还要勾选最后一项,Callback URL 处填写 “你的域名/oauth”,Websites 填你的网站。
> 比如小邪的是 http://t.evlos.org/oauth,接着得到 Twitter API 里面的两个 App Keys。
4. 如何不放在根目录(强烈不推荐使用):
> 呵呵,只要依次按照下面代码中,小邪写在那里的注释操作即可,要修改的文件是 .Htaccess。
> 这个 .Htaccess 文件不需要放到网站根目录,只要放在 Dabr 的目录里面即可有效使用了额。
RewriteEngine on
RewriteBase /
# 重点就是上面这一行了,修改为你的目录的相对路径,然后添加到此文件的这个位子即可
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
5. 防止搜索引擎索引:
> 新建一个 robots.txt 文件,然后保存下面内容放在根目录,这样搜索引擎就无法索引鸟。
User-Agent: * Disallow: /
> 上面的样式是放在站点根目录的样子,即我们开通了 T.evlos.org 这样的二级域名来用。
User-Agent: * Disallow: /global/dabr/
> 如果一定不想放在站点根目录呢,那么就把站点根目录如果有 robots.txt 就添加一行。
> 添加的话就只要上面内容的第二行,然后添加到类似的地方即可,如果没有此文件就新建。
6. 防止直接暴露目录:
> 很多的服务器设置是如果你的某个目录没有类似 index.php 这样的默认文档的话。
> 就会直接显示一个这个目录的文件列表的页面,这样子就会把文件给暴露出来了。
# 要在 .Htaccess 文件中加入下面这一行喔,以防万一其他人可以直接看到你的目录文件 Options All -Indexes
7. 带密码的 Cookies 保护:
> 我们来修改 index.php 文件,在 php 标签的下方添加如下的很短的代码来引用 Chk.php。
include 'chk.php';
> 然后我们将下面的内容保存为 Chk.php 文件,放在 Dabr 的根目录即可,还要修改点东东。
<?php
$dabr_psw = '你给自己设置的密码';
if (!isset($_GET['to'])&&!isset($_COOKIE['dabr_access'])) {
echo 'Unallow user ..';
exit;
}
else {
if (isset($_COOKIE['dabr_access'])) {
$dabr_co = $_COOKIE['dabr_access'];
if ($dabr_co<>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;
}
}
}
?>
> 登录方法,Dabr 目录/?to=你设置的密码,比如小邪的是 http://t.evlos.org/?to=密码。
> 这样用一次即可,就会保存到 Cookies 里面去了喔,O(∩_∩)O哈,小邪自己觉得蛮好的。
8. 登陆账号白名单:
> 在 Config.php 中添加下面这个函数,然后 Dabr 就会自动用上去的,按里面注释做即可。
function config_log_request() {
if (!user_is_authenticated()) return;
$allowed_users = array(
'在这里添加你自己的账号'
,'添加第二个白名单账号'
); //不需要的话就删除上面第二行,如何还要添加,就按照这行新建一行或几行
if (!in_array(strtolower(user_current_username()), $allowed_users)) {
user_logout();
die("Sorry, you're not on the list of allowed users for this site.");
}
}
9. 申请服务器白名单:
> 白名单 IP(s) 申请表单填写传送门 - https://twitter.com/help/request_whitelisting
> 呵呵,这里的教程小邪就不详细写鸟,因为,小邪没有申请成功,额,是申请用词不当鸟。
> 呜呜呜呜,小邪本来想偷偷给盆友们用的,只要告诉他们密码就可以了,但是没有申请成功。
二. 菠萝阁奇趣发现:
> 嘻嘻,在推上面看到 @obugs (第三眼)推出来的呢,给大家一起欣赏一下喔,太美了。

三. 欢迎来 Follow 小邪的 Twitter @AngelSolo 。
- Pingback on 2010/09/13/ 01:32
sf
@第三眼 , 速度好快,嘻嘻 ~ 又大又软的沙发被你抢咯 ~
现在靠twitter似乎很难强力沙发插入了,这次总算赶上一次。哇咔咔。奶瓶腿儿~
@第三眼,
又晚一步~
@Auston Jary , 呵呵,上上推就能迅速占领高地了喔 ~
@第三眼 , ╮(╯▽╰)╭,因为推上的盆友多了嘛 ~ 恭喜你,呵呵 ~
地板~ 确实悲剧~
现在再认真地再
@Firm , 呵呵,小邪给你铺一张大大软软的厚地毯 ~
我窘到了,没打完,莫名就发出去了。
“现在再认真地看一遍文章”
@Firm , 呵呵,淡定 ~
我看几篇,其实还是不太明白。。
这是防止被墙,还是被墙了还能上? :exclaim:
@kaka , 是防止被墙额老兄 ~ :biggrin:
踩踩,用机会自己搭建一个玩玩~~~ :rolleyes: :rolleyes:
@Terry , 恩恩,推上面很热闹的说 ~
Twitter 基本没去过,最后一张图片不错。。博主每次发的东东笨笨都看不懂...主要是很多专业名称不了解,好些都要依靠baidu来了解。
@笨笨 , 呵呵,百度大神还是蛮厚道的 ~ O(∩_∩)O哈!
三. 老式传送门
里面的一些词在我站的话那空间商早屏蔽了。。。博主你多多注意点哦。。
@笨笨 , 额,谢谢喔,小邪待会儿检查检查 ~
> 申请页面传送门 的链接好想有问题
@疾风 , 恩,被墙了,所以请翻墙 ~
@邪 罗刹,
我用的FF
转址后是http://https//twitter.com/oauth_clients
@疾风 , 囧,真是不好意思,小邪的转向程序少了一行代码 ~
谢谢你的提醒 ~
现在没有问题了 ~
http://u.evlos.org/link.php?https://twitter.com/oauth_clients
这篇文章最牛叉的就那些雪人了~~~
@北街 , 嘻嘻,是滴,真像在现场玩玩 ~
小邪 可爱的域名 哇咔咔 亲一个~还有 那个 最近我和你做的事情 别到处去说
@Showfom , 嘻嘻,小邪会害羞滴 ~
P.s. 放心喔,小邪知道需要低调的,所以没有告诉任何人 ~
不错嘛,介绍给朋友试试
@寄之秋 , 呵呵,真开心对你有用呐 ~
执着吧。天堂的大门总是很窄,我是不去挤啦。
@九站 , 呵呵,自由就在前方,不过随意啦 ~ 开心就好了 ~ :biggrin:
东哥的文章:http://www.storyday.com/html/y2009/2576_to-large-waves-encryption.html,特简单。
@ZeroZ , 额,那位老兄的方法好像关闭浏览器,然后再次打开还要重新输入密码的吧?
呵呵,那小邪觉得还是 Cookies 的方法稍稍方便一点儿 ~
小邪现在暂时没有研究过 Sessions 呢 ~
空下来一定去研究研究 ~
偶只看到哪一片雪人…… :confused:
@泡面 , 呵呵,雪人要有爱的说,好多喔,
啊,哈哈哈哈~推推新手来学习一下,马上去建一个!
@万戈 , 嘻嘻,祝你玩得开心 O(∩_∩)O ~
我用twitese,因为私人用就把整个目录加密了,什么蜘蛛也别想进来 :biggrin: 我懒
@zwwooooo , 呵呵,也是一个很好的方法,不是懒,是技巧,(*^__^*) 嘻嘻……
让我想起了小时候看的雪人 波利!:smile:
@Revolution , 汗,嘎嘎,小邪不认识波利 ~ :biggrin:
也就在墙内混混。
@三七八蛋 , 呵呵,自由就在前方 ╮(╯o╰)╭ ~~
拿一個奶瓶的源碼,往上一放就可以了,哈哈..
Form 滿滿的!
@不許起名。 , 呵呵,如果需要增加安全性的话,再看看小邪写的就好咯 ~ O(∩_∩)O ~
要和谐
@蓝冰 , 嘿嘿,低调低调 ~ ╮(╯▽╰)╭
为啥打不开自己的博客?
@江流 , 呵呵,看你的文章应该已经解决了吧,
那图片~~~
@yywr , 杯具,图片丢失了 ~ 不过也不难,呵呵,如果你有不懂的可以问小邪的 ~
@邪 罗刹,
不是,我是想说最后那张雪人大军的图片,好帅
@yywr , 嘎嘎,原来如此,小邪也很喜欢那个呦 ~
