有没有一种方法可以在不阻止访问单个帖子或页面的情况下保护我的WPMU安装中的所有RSS提要?本质上,我希望任何人都可以访问各个页面,但聚合列表应该需要身份验证代码。
有人有什么建议或指导我吗?
有没有一种方法可以在不阻止访问单个帖子或页面的情况下保护我的WPMU安装中的所有RSS提要?本质上,我希望任何人都可以访问各个页面,但聚合列表应该需要身份验证代码。
有人有什么建议或指导我吗?
根据评论,您可以有几个选项。更简单的方法是在URL处检查一个特殊参数,这假设您向他们提供URL,并且他们在用于获取提要的任何软件中手动配置它。例如,您将URL作为mysite提供给他们。com/源?pass=123456,其中pass是secret参数,123456是正确的值
add_action(\'init\',\'wase_83868_init\',1);
function wase_83868_init() {
if (is_feed()) { // if access to RSS feed
if (!isset($_GET[\'pass\']) || ($_GET[\'pass\'] != \'123456\'))
wp_die(\'Only paying costumers can read the RSS feed\',403); // failed check, reject
}
}
您可能还想从提要中删除指向RSS的链接,如建议的那样here这个选项的问题是,这个秘密并不是什么秘密,你必须相信你所给的人不会泄露它。因此,另一种选择是按IP地址过滤。而不是URL参数。
add_action(\'init\',\'wase_83868_init\',1);
function wase_83868_init() {
if (is_feed()) { // if access to RSS feed
if ($_SERVER[\'REMOTE_ADDR\'] != \'192.132.14.12\'))
wp_die(\'Only paying costumers can read the RSS feed\',403); // failed check, reject
}
}
最终的选择是创建一个用户,并仅向登录用户提供RSS。add_action(\'init\',\'wase_83868_init\',1);
function wase_83868_init() {
if (is_feed()) { // if access to RSS feed
if (!user logged in and have permission)
wp_die(\'Only paying costumers can read the RSS feed\',403); // failed check, reject
}
}
这种方法的问题是,在获取RSS以获取身份验证cookie之前,客户的软件必须先进行登录。有什么想法吗?看起来我的feed只显示了一个帖子,尽管我今天发了几个帖子。http://www.alpinezone.com/category/news-and-featured-articles/feed/