删除默认用户注册、登录和订户配置文件

时间:2013-09-17 作者:George Reith

我的网站最近受到一波垃圾邮件用户帐户的攻击。我的网站使用自定义登录,强制用户使用其电子邮件地址作为用户名,但是垃圾邮件用户都有常规用户名,因此我假设他们运行的脚本将POST请求发送到/wp-login.php.

仅仅删除此页面是不够的,我需要禁用通过此页面的POST请求创建用户帐户的功能,因为我很确定垃圾邮件发送者使用的是软件,而不是手工创建这些帐户。

最后,我需要禁用/wp-admin/profile.php 因为我相信他们正在创建帐户,以便将反向链接插入到他们的个人资料中。

我该怎么做呢?

1 个回复
最合适的回答,由SO网友:George Reith 整理而成

我意识到这可能由服务器来处理更好,我最后在.htaccess:

# Block regular login/registration and profile pages
<Files wp-login.php>
    Order Deny,Allow
    Deny from All
</Files>
<Files profile.php>
    Order Deny,Allow
    Deny from All
</Files>
这将阻止对这些页面的任何请求,并强制用户使用我的自定义登录和注册页面。

Edit: 我认为我没有把这一点说清楚,我也不向大多数WordPress用户推荐这种解决方案。

我有一个自定义的用户注册、登录和配置文件系统。这些并不扩展默认的WordPress功能,而是完全独立的,不需要访问这些页面,因为所有逻辑和请求都由系统本身处理,并且不会传递(但是它们使用WordPress功能和WordPress数据库中的默认用户表)。

这与插件不同,插件提供了一个自定义登录页面,只是为了更改主题,但实际上会将POST请求发送回wp-login.php 因为这将打破我的解决方案。

结束

相关推荐

private functions in plugins

我开发了两个插件,其中一个功能相同(相同的名称,相同的功能)。当试图激活两个插件时,Wordpress会抛出一个错误,因为它不允许我以相同的名称定义函数两次。有没有一种方法可以使这个函数只对插件私有,而不使用面向对象编程,也不简单地重命名函数?我不想使用OOP,因为我首先要学习它。此外,我不想重命名该函数,因为我可能也想在其他插件中使用它,而重命名感觉不太合适。