启用referrer功能

0条评论

WordPress安装时会将发送referrer作为保护管理界面不被未授权用户使用的一种基本形式;不推荐在安装WordPress时禁用referrer。

WordPress 2.0.2及之后版本的referrer如何运行?

我们想要写新日志、更改博客外观或者执行其他管理任务时,WordPress会要求我们登录一个受保护的管理界面。(以安装完毕时系统给出的用户名和密码登录。)作为一种基本的安全防护措施,这种登录方式有效保护了博客管理功能不被未授权用户访问。

被认定是具有修改权限的授权用户后,我们就可以访问这些受保护的管理功能了。管理面板中的所有页面都是安全的,系统也不会要求我们访问每个页面都登录一次。一旦我们要访问其它管理界面,系统会检查我们访问的上一个页面,以此检验我们的用户权限。

WordPress系统通过检查浏览器发送的referrer来判断用户身份。

假设我们现在在www.wordpress.org主页上,然后我们点击链接进入Firefox。虽然我们看不见后台发生的情况,但进入Firefox页面时,浏览器会告诉新页面我们来自哪一个页面。浏览器告诉新页面的这类信息,被称为referrer。如果我们的网站上安装了监视流量的统计程序或脚本,统计程序和脚本向我们报告的信息中也会采用referrer中的内容。

大多数熟悉WordPress结构的用户都知道其它WordPress网站的post.php文件的所在位置,但即使这样我们也无法随意在其它网站上发表文章。如果我们试图访问这些网站的发表文章界面,会被系统重定向。这是因为浏览器向页面发出的referrer信息表明,我们没有成功登录。

怎样激活referrer功能

遗憾的是这个问题没有统一的答案。下面是一些激活referrer功能的方法,请大家根据浏览器和防火墙的类型自行查找。

如果没有与自己相应的应用程序类型,可以从其它类型中寻找有效信息——基本原理都是一样的,只是各个工具的使用方式有所不同。

在下面的介绍中如果没有找到自己需要的信息,可以先进入服务器的cpanel,之后是phpMyAdmin,最后在WordPress表中找到wp-options,在链接中包含/wordpress/ 文件夹。这样也可以解决问题。

Internet Explorer 6

可以在计算机的控制面板下的Internet选项中完成操作,也可以在浏览器工具菜单下的Internet选项中完成。

1. 在弹出的窗口中选择安全

2. 单击受信任的站点后,再单击站点按钮

3. 在上一个空白文本框中输入自己的网站地址,然后点击添加

4. 取消“对该区域中的所有站点要求服务器验证(https:)”选项的选中状态,确定

5. 返回弹出窗口的主界面,选择隐私选项(将滑块上的隐私设置程度选为度是一个可接受的设置,但为保险起见,再次点击站点并输入自己的网站地址)

6. 点击允许

7. 最后点击确定

以上操作改变了浏览器的设置,但不会影响用户浏览网页。

Firefox 1.0及更高版本

RefControl

可以使用Firefox的RefControl插件:https://addons.mozilla.org/firefox/953/

手动设置

警告:该方法使所有网站都接收到referrer,因此具有一定风险性。

1. 在URL地址栏中输入about:config

2. 浏览器窗口会出现一长串以字母顺序排列的信息

3. 在其中查找network.http.sendRefererHeader

4. 默认情况下其值为2

5. 如果值为0——表示禁止发送referrer——鼠标右击,选择修改,输入2为其值

6. 如果修改无效,可尝试将值设为1

更多信息请参考http://kb.mozillazine.org/Network.http.sendRefererHeade

Opera

Opera浏览器默认referrer功能为激活状态。

如果已禁用referrer功能,可在工具菜单下功能选项的隐私选项中再次激活该功能

K-Meleon

K-Meleon浏览器默认referrer功能为激活状态。

如果已禁用referrer功能,可在工具菜单下隐私选项的锁定referrer功能(如果已经被锁定)选项中再次激活该功能。

Norton Internet Security防火墙

进入隐私控制>高级>添加站点

输入自己的网站地址(如example.com),确保输入内容是受许可的。

Norton Personal防火墙

有些网页会在用户访问前要求查看用户的referrer信息。如果我们希望允许referrer信息被发送到某个网页,首先需要为referrer的发送设立一些规则。

设立规则

打开Norton Internet Security或Norton Personal防火墙,进行以下操作:

在Norton Internet Security/Norton Personal Firewall 2003中

1. 点击选项>Internet安全

2. 选择个人防火墙(有时可忽略该步骤)然后点击网络内容

在Norton Internet Security/Norton Personal Firewall 2004中

1. 双击隐私控制

2. 点击高级

3. 点击添加站点(出现新网站/域名对话框)

4. 输入希望接收referrer信息的网站名,点击确认。在这里我们假设网站是www.symantec.com,网站名会出现在选项窗口的左侧框架中。

5. 点击新站的名称

6. 之后单击全局设置

7. 在“可访问站点信息”中,清除“使用默认设置”

8. 点击允许

9. 点击确定关闭选项窗口

Netbarrier

进入隐私>网络>隐藏信息,取消“之前访问的网站”的选中状态。

Sygate Firewall防火墙

该防火墙的免费版本不能锁定referrer功能。

在能够锁定referrer功能的版本中可以:

点击工具>选项>安全

确保“激活隐藏模式浏览”未被选中。

Kerio Firewall 4防火墙

在网络过滤的隐私选项下开启HTTP referrer功能。

Zone Alarm Pro

  • 左侧的隐私按钮下单击网站列表
  • 右击WordPress URL所在的“隐私标题”列,也可以点击“添加”来添加URL。
  • 从菜单中选择“选项
  • 在第一个菜单“Cookies”中,取消“第三方cookies——删除个人隐私信息”的选中状态
  • 点击“确定

Agnitum Outpost Firewall Pro 2008

1. 单击设置

2. 选择网络控制

3. 在网络控制中,点击自定义,然后将状态更改为允许referrer

McAfee

1. 右击红色的M图标

2. 选择隐私服务

3. 选择选项

4. 在出现的McAfee隐私服务窗口中选择Cookies

5. 输入自己希望接收cookies的网站地址

6. 点击添加

7. 完成后关闭窗口

Privoxy

Privoxy适用于其它本地代理服务器与广告服务器。Privoxy中有一个“+hide-referrer”的选项,可以在referrer信息头部分“仿造一个url;用户可以在default.action((-hide-referrer)中禁用选项,或者直接将网站域名放在user.action的 { fragile } 版块。另一个方法是阻止web浏览器设置代理自己的网站域名。

其它方法

如果以上方法都不能解决问题,下面还有些可能的解决方案:

  • 检查CURL库是否已安装
  • 删除cookies
    • 如果近期更改了路径结构或域名,可以使用该方法

 

  • 仅适用于WordPress 2.0——删除wp-content/cache文件夹。刚刚迁移WordPress的用户有必要删除该文件
  • 重命名.htaccess文件(如果该文件确实存在)
    • 在某些配置环境下,mod_rewrite会影响数据库访问,最终导致WordPress的siteurl设置不准确

 

  • 检查数据库的wp_options表中的siteurl被放在WordPress安装文件的根目录下
    • 例如:如果输入的网站域名是 http://example.com,作为一个URL它可以因为DNS正确而顺利解决问题,但如果作为一个referrer,这个域名则会导致错误,除非数据库中siteurl就是 http://example.com

 

  • 有时问题可能由子域名导致
    • 我们可能生成一个类似blog.example.com的子域名,并且将WordPress安装在www.example.com/blog下。这时可以在WordPress管理面板的设置菜单中选择常规选项,在其中查找WordPress安装地址(URI):字段。将网站地址改为http://www.example.com/blog。博客地址(URI):字段则仍然为http://blog.example.com