跳至内容
  • 关于WordPress
    • 关于WordPress
    • WordPress.org
    • 文档
    • 支持
    • 反馈
  • 登录
  • 注册
WordPress.org
WordPress.org

China 简体中文

  • 主题
  • 插件
  • 最新消息
  • 支持
    • 文档
    • 论坛
  • 关于
  • 获取 WordPress
获取 WordPress

插件

  • 我的收藏
  • Beta测试
  • 开发者

该插件尚未通过WordPress的最新3个主要版本进行测试。 当与较新版本的WordPress一起使用时,可能不再受到维护或支持,并且可能会存在兼容性问题。

下载

HTTP Digest Authentication

作者Jesin
  • 详情
  • 评价
  • 安装
  • 技术支持
  • 开发进展

描述

This plugin adds an additional layer of protection for the wp-login.php page using HTTP Digest Authentication with the PHP header() function.
So it doesn’t require configuring web server files like .htaccess or .htdigest and works on all web hosting environments.

Important: If you already have a plugin which does HTTP Authentication please deactivate it before activating this plugin. Similarly if you have configured your web server to do HTTP authentication on the wp-login.php file please remove it before using this plugin.

If you are using FastCGI PHP this plugin may keep prompting for the credentials even if you enter the right pair, in this case use the following in your .htaccess file

<IfModule mod_setenvif.c>
SetEnvIfNoCase ^Authorization$ "(.+)" PHP_AUTH_DIGEST=$1
</IfModule>

Advantages of HTTP Digest Authentication

  • Digest Authentication is very much safer than HTTP Basic Authentication whose credentials can be easily decoded with a base64 decoder.
  • From Wikipedia on HTTP Basic Authentication:

The BA (Basic Authentication) mechanism provides no confidentiality protection for the transmitted credentials. They are merely encoded with BASE64 in transit, but not encrypted or hashed in any way.

  • Digest Authentication on the other hand uses MD5 on the credentials making it “one way”
  • Uses server and client nonces to prevent replay attacks

Features of the HTTP Digest Auth plugin

  • Works using PHP header() function and doesn’t require modification of service config files (like .htaccess, nginx.conf etc)
  • Supports HTTP credentials for each WordPress user
  • Clears the HTTP Digest credentials when the user logs out of WordPress (more on this in the FAQ)
  • Verifies if both the HTTP and WordPress credentials are of the same user (this is the default behavior and can be changed)
  • Works on all major Web Servers (Tested on Apache, Nginx and Lighttpd)

Plugin Behavior

  • When this plugin is activated for the first time all WordPress users will have the following Digest credentials
    Username: <WordPress username>
    Password: password
    This can be changed from Users > Your Profile.
  • After activating this plugin for the first time you’ll be prompted for HTTP credentials when you logout
  • Similarly if you change your HTTP username or password you’ll be prompted for this when you logout

Available languages

  • 英文
  • Serbo-Croatian by Borisa Djuraskovic

The HTTP Digest Authentication Plugin official homepage.

屏幕截图

  • Logging in using HTTP digest credentials
  • The WordPress login page with the HTTP username
  • Setting a HTTP Digest username and password via Users > Your Profile
  • Logged out of WordPress
  • Trying to login with someone else's WordPress username

安装

  1. Unzip and upload the http-digest-auth folder to the /wp-content/plugins/ directory.
  2. Activate the HTTP Digest Authentication plugin through the ‘Plugins’ menu in WordPress.
  3. Configure a HTTP username/password by going to Users > Your Profile page.
  4. You’ll be prompted for these credentials when you logout after activating the plugin for the first time.

常见问题

Installation Instructions
  1. Unzip and upload the http-digest-auth folder to the /wp-content/plugins/ directory.
  2. Activate the HTTP Digest Authentication plugin through the ‘Plugins’ menu in WordPress.
  3. Configure a HTTP username/password by going to Users > Your Profile page.
  4. You’ll be prompted for these credentials when you logout after activating the plugin for the first time.
How does HTTP logout work?

When you access the wp-login.php page a portion of the realm is generated and stored in a session variable so the realm looks like “HTTP Auth Session MTM4MTc0NzU3OQ==”
When you logout of WordPress this session variable is deleted and a new realm is generated, hence the browser prompts you for credentials.

How are the HTTP Digest credentials stored?

The username is stored in the wp_usermeta table in plain-text. The password is stored in a two-way encryption format in the same table. It is encrypted and decrypted with the mcrypt_encrypt() and mcrypt_decrypt() functions.

But I saw the plain-text password in my database

That means your PHP installation doesn’t have the mcrypt extension. To check if this is the case go to your <?php phpinfo(); ?> and check if there is a section called mcrypt. If there isn’t one in your VPS/Dedicated server install it

on Debian/Ubuntu

apt-get install php5-mcrypt

on Centos/Fedora

yum install php5-mcrypt

After installation change the password (or enter the same password in Your Profile) to encrypt it.

Shared hosting users needn’t worry about this as any decent host should already have this installed.

Help! I forgot my HTTP Digest credentials

You can find your username by executing the following MySQL query.

SELECT meta_value FROM `wp_usermeta` WHERE meta_key = 'http-digest-auth_username' and user_id = (SELECT ID from wp_users where user_login = 'WordPress_Username');

Remember to replace wp_ with your actual database prefix and WordPress_Username with your login name.

The password can be reset with the following query

UPDATE `wp_usermeta` SET meta_value = 'password' WHERE meta_key = 'http-digest-auth_password' and user_id = (SELECT ID from wp_users where user_login = 'admin');

This will set the HTTP password to password. Login and change it immediately.

What does the “Anyone can use these credentials” option do?

By default if you access the wp-login.php page using your HTTP credentials, only YOUR WordPress username can login.
This security measure can be disabled by ticking this option.

Are the HTTP credentials stored in the database even after this plugin is deactivated/deleted?

Deactivating this plugin doesn’t affect the credentials but deleting the plugin erases all HTTP user credentials leaving no trace of it in the database.

评价

Don't Work

CA Plugins 2016年9月3日
I installed this plugin and changed password and tried to log but it's not working for correct username/password.
阅读所有5条评价

贡献者及开发者

“HTTP Digest Authentication” 是开源软件。 以下人员对此插件做出了贡献。

贡献者
  • Jesin A

将“HTTP Digest Authentication”翻译成您的语言。

对开发感兴趣吗?

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

更新日志

1.2.1

  • 3rd September 2014
  • Removed line-height styling on input boxes

1.2

  • 26th May 2014
  • Fixed bug that allowed logging in with empty credentials
  • Added Serbo-Croatian language, props Borisa Djuraskovic

1.1

  • 22nd March 2014
  • Reduced repetitive code with inheritance
  • .htaccess rules for FastCGI PHP

1.0

  • 16th October 2013
  • Initial version

元信息

  • 版本:1.2.1
  • 最后更新:4年前
  • 有效安装数量:30+
  • WordPress版本: 3.1.0或更高
  • 最高兼容版本:4.9.20
  • 语言:
    English (US)
  • 标签:
    authauthenticatehackinglogin
  • 高级视图

评级

查看所有评价
  • 5星 3
  • 4星 1
  • 3星 0
  • 2星 0
  • 1星 1
登录以提交评价。

贡献者

  • Jesin A

技术支持

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

查看支持论坛

  • 关于
  • 最新消息
  • 主机
  • 捐助
  • 支持
  • 开发者
  • 参与
  • 学习
  • 展示站点
  • 插件
  • 主题
  • 区块样板
  • WordCamp
  • WordPress.TV
  • BuddyPress
  • bbPress
  • WordPress.com
  • Matt
  • 隐私
  • 公共代码
WordPress.org
WordPress.org

China 简体中文

  • 访问我们的 Facebook 公共主页
  • 关注我们的 Twitter 账号
代码如诗