跳至内容
WordPress.org

China 简体中文

  • 主题
  • 插件
  • 新闻
    • 文档
    • 论坛
  • 关于
  • 获取 WordPress
获取 WordPress
WordPress.org

Plugin Directory

KW Members Fortress

  • 提交插件
  • 我的收藏
  • 登录
  • 提交插件
  • 我的收藏
  • 登录

KW Members Fortress

作者:KREISWOLKE
下载
  • 详情
  • 评价
  • 安装
  • 开发进展
支持

描述

KW Members Fortress turns a standalone WordPress site into a private, members-only space. Visitors who aren’t logged in can’t reach anything except the login screen and the legal pages you choose to publish — not your pages, posts, archives, search, feeds, REST API, sitemaps, XML-RPC, and crucially not your uploaded files either.

Most “force login” plugins only gate the pages WordPress renders. They leave every file in /wp-content/uploads/ reachable by anyone who has (or guesses) the URL — PDFs, images, documents. KW Members Fortress routes those file requests through WordPress and serves them only to logged-in members, then continuously self-tests that the seal is holding.

What it does

  • Whole-site gate — logged-out requests are redirected to login: pages, posts, archives, search, feeds, REST, sitemaps, XML-RPC.
  • Protected file URLs — direct hits to /wp-content/uploads/… are served only to members (Apache/LiteSpeed handled automatically; nginx shows you the one snippet to paste).
  • Leak self-test (canary) — about once an hour the plugin makes a cookie-less request to one of its own upload URLs and raises a dashboard alarm if a file ever comes back without login. Silent misconfiguration becomes a visible warning.
  • Branded login screen — set a background image, overlay colour/gradient, accent colour, and logo from the settings page. No file editing.
  • Footer & legal pages — up to three footer items, each a built-in page (rendered theme-less and reachable while logged out) or an external link. Perfect for an Imprint / Privacy notice on an otherwise-private site.
  • Hardening (all optional, on by default) — block logged-out admin-ajax, block user-enumeration, no-cache headers on blocked responses, and a progressive login throttle that auto-recovers.

Good to know

  • No accounts, tiers, payments, or third-party services. One site, one membership wall.
  • Runtime files are stored under …/wp-content/uploads/kw-members-fortress/ — never in the plugin folder.
  • The leak self-test only ever contacts your own site’s URL; it is not an external service.

安装

  1. Upload the plugin to /wp-content/plugins/ (or install it from your dashboard) and activate it.
  2. On Apache / LiteSpeed the upload-protection rule is written for you. On nginx, the plugin shows a short location snippet — paste it into your server block and reload nginx.
  3. Visit Members Fortress in the admin menu to brand the login screen, add footer/legal pages, and review the Lockdown status (server type, public-asset folder, and the latest leak self-test result).
  4. Log out in a separate browser to confirm the site is sealed.

Caching: because every visitor must be checked individually, full-page caching of the front end must be turned off (or the gate can be bypassed by a cached copy). The plugin sends no-cache headers on blocked responses, but a page cache in front of WordPress should not store logged-in/front-end pages.

常见问题

Does it really protect uploaded files, or just pages?

Files too — that’s the point. Requests to /wp-content/uploads/… are routed through WordPress and served only to logged-in members. The only exception is a small public sub-folder, uploads/kw-members-fortress/public/, which holds just your chosen login background and logo so they can load on the logged-out login screen.

Why does it edit my root `.htaccess`?

On Apache/LiteSpeed the upload-protection rule is added to .htaccess using WordPress’ own marker API (the same mechanism core uses for permalinks), inside a clearly-marked block. Deactivating the plugin removes the block and restores normal file serving.

What is the “leak self-test”?

A tiny sentinel file lives in the plugin’s folder inside uploads (uploads/kw-members-fortress/canary.txt — a location that must stay locked). About once an hour, while you’re in the dashboard, the plugin requests that file’s URL without sending your login cookies. If the file comes back, the gate isn’t working and you get a red dashboard warning. It only ever contacts your own site — it is not a third-party service.

I’m on nginx and files are still reachable.

nginx configuration can’t be edited from PHP, so the plugin shows the exact location snippet to add to your server block. Add it and reload nginx; the Lockdown tab and the self-test will confirm the seal.

Can I show an Imprint / Privacy page to logged-out visitors?

Yes. Under Footer & Pages, set a slot to Built-in page, give it a title and content, and it renders on its own theme-less page that’s reachable without login (and noindex). Images embedded inside that content won’t display to logged-out visitors, since uploads stay locked — use text and HTML.

The login throttle locked me out.

After several failed logins from one IP, a short, growing cool-down is applied; it expires on its own (no permanent lockout). Note that visitors sharing one office/NAT IP share the counter. You can turn the throttle off on the Lockdown tab.

What happens when I deactivate or delete it?

Deactivating removes the .htaccess rule and turns protection off — by design. Deleting honours the Advanced → “remove all data” option: leave it off to keep your settings, or turn it on to remove the settings and the public-asset folder on uninstall.

评价

此插件暂无评价。

贡献者及开发者

「KW Members Fortress」是开源软件。 以下人员对此插件做出了贡献。

贡献者
  • KREISWOLKE

帮助将「KW Members Fortress」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志。

更新日志

1.0.8

  • The legal-page styles are now delivered through the enqueue API (registered handle + wp_add_inline_style).
  • All runtime files now live under uploads/kw-members-fortress/: the leak-test sentinel moved there from the uploads root, and public login assets moved into the public/ sub-folder. Existing installs migrate automatically.
  • The sentinel file is now written via the WP_Filesystem API.

1.0.7

  • Initial public release.

额外信息

  • 版本 1.0.8
  • 最后更新:2 月前
  • 活跃安装数量 不到10
  • WordPress 版本 6.0 或更高版本
  • 已测试的最高版本为 7.0.6
  • PHP 版本 7.4 或更高版本
  • 语言
    English (US)
  • 标签
    file protectionforce loginlogin requiredmembers-onlyprivate site
  • 高级视图

评级

尚未提交反馈。

您的评价

查看全部评论

贡献者

  • KREISWOLKE

支持

有话要说吗?是否需要帮助?

查看支持论坛

  • 关于
  • 新闻
  • 主机
  • 隐私
  • 陈列窗
  • 主题
  • 插件
  • 区块样板
  • 学习
  • 支持
  • 开发者
  • WordPress.tv ↗︎
  • 参与
  • 活动
  • 捐赠 ↗
  • 周边商品 ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

China 简体中文

  • 关注我们的 X(原 Twitter)账号
  • 访问我们的 Bluesky 账号
  • 关注我们的 Mastodon 账号
  • 访问我们的 Threads 账号
  • 访问我们的 Facebook 公共主页
  • 关注我们的 Instagram 账号
  • 关注我们的 LinkedIn 主页
  • 访问我们的 TikTok 账号
  • 访问我们的 YouTube 频道
  • 访问我们的 Tumblr 账号
代码如诗
The WordPress® trademark is the intellectual property of the WordPress Foundation.