定制 chrisguitarguy/simple-login-lockdown 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

chrisguitarguy/simple-login-lockdown

Composer 安装命令:

composer require chrisguitarguy/simple-login-lockdown

包简介

Simple prevention of brute force login attemps on your WordPress site.

README 文档

README

=== Simple Login Lockdown ===
Contributors: chrisguitarguy
Donate link: http://www.pwsausa.org/
Tags: security, login
Requires at least: 3.2.0
Tested up to: 3.5
Stable tag: 1.1

Simple Login Lockdown prevents brute force login attacks/attempts on your WordPress installation.

== Description ==

Simple login lock down is a way to protect your WordPress blog from brute force login attacks.

How it works:
1. An attacker attempts to login and fails
2. Simple Login Lockdown record that failed login
3. After a certain number of failed attemps (defaults to five), further attemps to access the wp-login.php page are blocked for a time (defaults to one hour).

If you happen to forget your password and make a failed login attemp yourself, the plugin will clear out the lockdown count data on successful login.

Note: This uses $_SERVER['REMOTE_ADDR'] directly.  If you're behind a proxy (load balancer, etc), it's not going to work as expected.  Eg. Several folks could be attempting logins at once, and all fail.  As such, the plugin would pick up on all those requests coming from the same IP -- the load balancer -- and lock the login down.  No good.  If you're using a load balancer or in some other situation where you're behind a proxy, use this as an example and write your own. Or filter the IP as your desire using `cd_sll_pre_ip`.

== Installation ==

Install via the WordPress admin or...

1. Click on the big orange button that says download
2. Unzip the file, and upload the `simple-login-lockdown` folder to your wp-content/plugins directory
3. Login into your website and activate the plugin!

== Frequently Asked Questions ==

= I got locked out, what do I do? =

Simple answer: wait.  The lockdown will clear in the time you specified, just visit the site again later.

If you absolutely need to get into your site right now, you can can do one of two things...
1. Fire up your FTP client and rename the `simple-login-lockdown` plugin folder
2. Login into your favorite database administration tool (probably PHPMyAdmin) and search for `locked_down_` in the `option_name` column of the `wp_options` table.  Delete the records you find -- they should be "transients".

== Hooks ==

`simple_login_lockdown_ip` -- Alter the requesting IP address. Might be useful if you site is behind a proxy or load balancer.

`simple_login_lockdown_allow_ip` -- Allows you to "whitelist" an IP address. It first when a log attempt fails before the attempt count is incremented. Return true and no count will be taken for the IP.

`simple_login_lockdown_should_die` -- A filter that allows you to prevent the login page from `die`ing if a the requesting IP is temporarily blacklisted or the login limit has been reached.

`simple_login_lockdown_count_reached` -- Fires when the requesting IP has reached its count and will be added to the blacklist for your time limit.

`simple_login_lockdown_attempt` -- Fires when a login attempt is made but the requestin IP is blocked to to excessive requests.

`simple_login_lockdown_response` -- Change the HTTP response code of that gets sent when a blacklisted IP attempts to login.

`simple_login_lockdown_time_values` -- Allows you to alter values in the login lockdown time dropdown in the admin area.

== Screenshots ==

1. The plugin options on the Privacy Settings page

== Changelog ==

= 1.1 =
* Fixed a bug that caused lock down length to be much shorter than expected
* Fixed some warnings in the admin area due to a non-existed class property

= 1.0 =
* Refactored code
* Added a ton of filters/actions

= 0.4 =
* Added plugin options page

= 0.3 =
* small bug fix

= 0.2 =
* New function to get the IP address. 
* Added filter to IP for flexibility with proxies, etc.

= 0.1 =
* Proof of concept
* no options page

== Upgrade Notice ==

= 1.1 =
* Please upgrade to get the expected time on lockdowns.

= 1.0 =
* A backwards-incompatible update
* Functionality is the same, much cleaner, refactored code

= 0.4 =
* Dont get attacked!

chrisguitarguy/simple-login-lockdown 适用场景与选型建议

chrisguitarguy/simple-login-lockdown 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 21 次下载、GitHub Stars 达 11, 最近一次更新时间为 2015 年 05 月 03 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「wordpress」 「login」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 chrisguitarguy/simple-login-lockdown 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 chrisguitarguy/simple-login-lockdown 我们能提供哪些服务?
定制开发 / 二次开发

基于 chrisguitarguy/simple-login-lockdown 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 21
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 11
  • 点击次数: 13
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 11
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-05-03