没有密码的WordPress登录,只有电子邮件地址(不需要通过电子邮件进行双因素身份验证)

时间:2017-08-31 作者:Luke Baumann

我正在寻找创建一个函数过滤器或插件,以删除wordpress密码的身份验证。每个用户的注册过程都是从wordpress的后端手动完成的(无前端注册)。因此,通过测试电子邮件在用户数据库中是否是有效的已知电子邮件,仍然会有一定程度的身份验证,只是没有密码身份验证。

我知道这样做有安全风险,但用户将访问的内容一点也不敏感。我不希望此功能影响wp登录。理想的php区域。这样管理员仍然必须使用密码。

我知道有电子邮件代币解决方案,但我不想这样。

3 个回复
SO网友:Rick Hellewell

您可以创建自己的登录表单,绕过wp_login() 作用此页https://codex.wordpress.org/Customizing_the_Login_Form , 在“自定义登录”部分中,可能会帮助您开始。

我在墙上看不到挂钩https://core.trac.wordpress.org/browser/tags/4.8/src/wp-login.php 可用于绕过密码字段的代码。因此,创建您自己的登录页面,以及相关的表单处理代码,可能就是实现这一点的方法。

有很多插件都与定制登录表单有关,也许其中一个插件具有您需要的功能。

您可以使用action login\\u表单将登录表单的“action”部分更改为您选择的代码(这可能只是忽略了密码字段检查,而只是查找用户)。

您的问题表明您知道与不验证登录相关的安全风险。

SO网友:Mark Kaplun

这听起来像是一个简单问题的复杂而不安全的解决方案。如果“用户”不需要访问管理员,只需制作一张表格,填写他们的“电子邮件”,如果它与白名单中的电子邮件列表进行核对,则设置一个cookie。在包含信息的页面上,检查cookie是否已设置。

为什么不安全?首先,除非您非常清楚自己在做什么以及这意味着什么,否则使用身份验证系统是不明智的;其次,在过去几年中,权限提升是wordpress、插件和主题的主要安全问题之一。除非必须,否则你不应该给予任何特权。

SO网友:MediPaper

还有另一种解决方案。使用“WordPress”本机内置的密码保护post功能。

通过使用ACF,您可以为一篇帖子设置多个密码。E、 g.您可以将电子邮件地址设置为密码。无需篡改WP\\u Login()函数。

结束

相关推荐

Wp-login.php-将登录用户重定向到自定义URL

当用户访问时/wp-login.php 并且已经登录,如何将其重定向到自定义URL?我发现同样的问题被问到和回答了,只是关于谁重定向到管理面板,但我不想这样做,我想重定向到一个特定的URL。(wp-login.php -- redirect logged in users to custom URL).我特别想将他们重定向到my_home_URL.com/my-account 我将如何实现这一点?如有任何建议或指导,将不胜感激!编辑:我几乎没有成功,但在访问时使用了以下功能wp-login.php 它确实