用户登录的URL是什么(又称如何隐藏登录表单?)


10

我不想允许访问者在我的网站上注册;但是,我发现只有一个注册用户才能进行测试。例如,我将发布一篇访问受限的文章,以便我的测试用户可以看到该文章在网站上的外观,而无需向普通公众“撒任何脏衣服”(好吧,实际访问者全天1天...) 。

我目前的问题是,由于必须发布/取消发布用户登录表单,我最终使网站污损了。当前,我通过将登录表单隐藏在子类别中来“规避”此问题,以使临时访问者无法立即看到该表单。是否可以创建一种替代方法(例如,自定义URL),使我的测试用户可以查看标记为受限的内容,而无需更改具有公共访问权限的来宾看到的内容?

Answers:


8

您可以制作未发布的菜单,并在其中放置指向用户登录页面的链接,并根据需要命名别名。只要您关闭了用户管理器选项中的允许注册功能,您就可以了。

然后只给您的客户的网址。

因此,步骤如下:

  1. 创建一个新菜单,将其命名为“隐藏”
  2. 不要发布新菜单的模块
  3. 添加一个新的菜单项,选择“用户管理器”和“登录”表单
  4. 为菜单项“登录名”或其他名称加上标题,以便您知道它是什么,但是将别名更改为别人不会想到的名称。
  5. 通过访问yoursite.com/aliasname测试您的表单

10

作为Brian Peat答案的扩展:

如果您转到网址

domain.com/index.php?option=com_users&view=login

您可以登录而无需设置菜单项或任何类型的发布/取消发布问题。在Joomla中,这可以说是一个问题,因为如果您知道url结构,那么了解自己的方式仍然可以注册/登录。有防止这种情况发生的规则,但通常默认情况下,您只能使用这样的直接路径到达所需的位置。

http://www.joomla.org/index.php?option=com_users&view=login

这就是工作原理,即使没有直接登录权限的Joomla主站点也可以这样访问。

我的观点是,确保您也使用正确的ACL,如果其“只是”注册用户,那么知道Joomla结构的任何人都可以进入。同样正如Brian所说,请确保允许注册已关闭。


/index.php是否有类似的URL?option = com_users&view = logout(我认为这很直观,但事实证明是不正确的)?
bobthechemist 2014年

您是要自动注销?有点奇怪,在joomla中注销需要一些发布数据,因此是表单/按钮。该链接将基本上带您进入一个按钮。
乔丹·拉姆斯塔德

如果您真的很担心有人进入该页面,则可以安装一个精美的插件来强制用户使用令牌作为url的一部分(我知道管理员可以使用一个令牌,很确定前端可以使用一个令牌)结束)...,但您也可以安装此文件:extensions.joomla.org/extensions/access-a-security / ...如果用户尝试说10次登录,它将阻止IP。它还会通知您。它使您对您的网站受到攻击的频率大开眼界。我注意到100%的尝试都使用“ admin”作为用户名。
Brian Peat

我只是想扩展一下,即使没有菜单项,登录/注册仍然可以访问。因此,如果需要登录而不必处理菜单项,则可以这样做,但这也意味着任何人都可以这样做。如果注册没有锁定,那么任何人都可以创建一个帐户并访问任何“秘密”页面,如果没有ACL可以阻止它的话。这可以通过创建一个额外的ACL组,并在该组中创建可以访问它的用户来完成。有问题的页面也需要该组。
乔丹·拉姆斯塔德

嗯,如果您还没有登录,那么ACL有什么用。据我了解,如果没有特殊的插件,您将无法隐藏公共登录页面。无论如何,除了蛮力攻击外,如果您没有登录,就不会走得太远。我看不出有什么用。
Brian Peat

4

您应该能够通过覆盖前端登录表单的布局来完成此操作。在布局文件顶部附近添加一些PHP代码。此添加的代码检查URL中的自定义参数和特定值。如果有人尝试通过任何URL访问登录页面,但不包括自定义参数和特定值(例如abc = xyz),则代码将发出“ return;”。这样就不会处理表单的布局以进行显示。

使用覆盖布局文件中的此代码,只有知道URL(包括此自定义参数和可接受值)的用户才能使用该登录表单。

例如: 秘密URL可以是

mydomain.com/?option=com_users&view=login&abc=xyz

然后将此代码添加到登录表单的覆盖布局文件顶部附近:

if(JFactory::getApplication()->input->get('abc')!='xyz'){
    return;
}

好主意!这是禁用视图的非常简单的解决方案。如果需要,它也可以扩展到模块(尽管模块没有直接访问的URL)。
Jordan Ramstad 2014年

3

我经常遇到类似的问题,因为我经常需要前端登录才能编辑我管理的网站,而无需登录表单。我最终创建了一个小书签 ,将其添加到浏览器工具栏中。显然,这是一个非常“本地”的解决方案,因为只有我(或我将代码复制到的任何人)都可以使用小书签,但是它可以在任何Joomla网站上使用,并且可以节省大量时间,只需单击链接和登录表单即可。将会显示(当然,前提是您在Joomla网站上...)。

 javascript:void((function(){var loc = location.href; loc.indexOf("?") == -1 ? (location.href = loc+"?option=com_users&view=login") : (location.href = loc+"&option=com_users&view=login");})());
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.