存储暴力破解IP地址

时间:2018-07-30 作者:Ciprian

如何存储试图强行登录部分或登录频率过高或速度过高的IP地址?

我需要存储所有IP,然后在另一个应用程序中使用它们,有点像一个学习例程。

UPDATE #1:

下面是一个场景(伪代码):

function my_wp_login_failed($username) {
    store($username);
    store($ipAddress);
}
add_action(\'wp_login_failed\', \'my_wp_login_failed\');
如何对所有攻击向量执行此操作?

UPDATE #2:

我需要IP地址尝试访问该网站超过X次被阻止至少Y次。初始阶段只存储这些IP地址。

UPDATE #3:

我找到了这个插件-https://plugins.trac.wordpress.org/browser/wp-fail2ban/trunk/wp-fail2ban.php - 这可能会起作用。我需要重写它,以便将IP信息传递到数据库或平面文件。

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

您可以使用wp_login_failed 为此目的采取的行动。。。它在wp_authenticate, 如果用户凭据不正确。

function my_log_brute_force( $username ) {
    $ip_address = $_SERVER[\'REMOTE_ADDR\'];
    // store that info somewhere
    file_put_contents( \'bf-log.txt\', date(\'c\') . "\\t{$ip_address}\\t{$username}\\n", FILE_APPEND );
}
add_action( \'wp_login_failed\', \'my_log_brute_force\' );
此外,本文可能会有所帮助:Getting real IP address in PHP

结束

相关推荐

WooCommerce_Email_Recipient_New_Order未触发

我想在WooCommerce中定制新订单的收件人。根据文档和各种示例,我可以这样做:function wc_change_admin_new_order_email_recipient( $recipient, $order ) { global $woocommerce; //some code return $recipient; } add_filter(\'woocommerce_email_recipient_new_order\