邪罗刹的菠萝阁


> 囧,今天小邪很郁闷,本来这篇文章应该在早上就发出来的。但是小邪一直无法打开菠萝阁呐。
> 因为今天美国的 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

Leave a comment
53 Comments.
  1. 第三眼 Mozilla Firefox Windows 坐沙发!#1

    sf

    @
  2. 第三眼 Mozilla Firefox Windows 坐板凳!#2

    现在靠twitter似乎很难强力沙发插入了,这次总算赶上一次。哇咔咔。奶瓶腿儿~

    @
  3. Firm Google Chrome Windows 躺地板!#3

    地板~ 确实悲剧~
    现在再认真地再

    @
  4. Firm Google Chrome Windows 天花板!#4

    我窘到了,没打完,莫名就发出去了。
    “现在再认真地看一遍文章”

    @
  5. kaka Mozilla Firefox Windows 下水道!#5

    我看几篇,其实还是不太明白。。
    这是防止被墙,还是被墙了还能上? :exclaim:

    @
  6. Terry Mozilla Firefox Windows 地心!#6

    踩踩,用机会自己搭建一个玩玩~~~ :rolleyes: :rolleyes:

    @
  7. Twitter 基本没去过,最后一张图片不错。。博主每次发的东东笨笨都看不懂...主要是很多专业名称不了解,好些都要依靠baidu来了解。

    @
  8. 三. 老式传送门

    里面的一些词在我站的话那空间商早屏蔽了。。。博主你多多注意点哦。。

    @
  9. > 申请页面传送门 的链接好想有问题

    @
  10. 这篇文章最牛叉的就那些雪人了~~~ :smile:

    @
  11. 小邪 可爱的域名 哇咔咔 亲一个~还有 那个 最近我和你做的事情 别到处去说

    @
  12. 不错嘛,介绍给朋友试试

    @
  13. 执着吧。天堂的大门总是很窄,我是不去挤啦。

    @
  14. 东哥的文章:http://www.storyday.com/html/y2009/2576_to-large-waves-encryption.html,特简单。

    @
    • @ZeroZ , 额,那位老兄的方法好像关闭浏览器,然后再次打开还要重新输入密码的吧?
      呵呵,那小邪觉得还是 Cookies 的方法稍稍方便一点儿 ~
      小邪现在暂时没有研究过 Sessions 呢 ~
      空下来一定去研究研究 ~

      @
  15. 偶只看到哪一片雪人…… :confused:

    @
  16. 啊,哈哈哈哈~推推新手来学习一下,马上去建一个!

    @
  17. 我用twitese,因为私人用就把整个目录加密了,什么蜘蛛也别想进来 :biggrin: 我懒

    @
  18. 让我想起了小时候看的雪人 波利!:smile:

    @
  19. 也就在墙内混混。

    @
  20. 拿一個奶瓶的源碼,往上一放就可以了,哈哈.. :lol: :lol: Form 滿滿的!

    @
  21. 要和谐

    @
  22. 为啥打不开自己的博客?

    @
  23. 那图片~~~

    @

Leave a Reply


[ Ctrl + Enter ]

Trackbacks and Pingbacks: