从数据库或magento的代码库中禁用管理员登录页面上的验证码?

时间:2014-06-11 17:27:03

标签: php mysql magento config captcha

我刚刚下载了一个客户实时网站的副本来更正一些插件问题并在我们的本地开发服务器上设置了一个演示网站,但由于验证码损坏,我无法进入该网站的管理面板图像不显示,因此正确输入它几乎是不可能的。但我可以访问代码库和数据库,所以如果我可以在某个地方切换它,从config.xml中删除一些内容或注释掉一行以暂时关闭它直到我可以进入并正确禁用它,这将是完美,因为我在后端只有大约十分钟的工作时间。这个问题是由于资源缺失造成的,可能是由于某些DNS设置与我们的开发服务器上的URL不匹配,但我不确切知道在哪里。如果相关,客户正在运行Magento EE v.1.13.0.2。提前谢谢。

5 个答案:

答案 0 :(得分:7)

搜索数据库中的core_config_data表。搜索admin / captcha / enable,运行以下代码

Update 
  core_config_data  set value=0
WHERE  path LIKE  '%admin/captcha/enable%'

答案 1 :(得分:1)

在复制&将现有网站移动到新域。

这里的其他答案有所帮助,但没有完全解决问题。当尝试登录时,它会默默地出错并且不会登录。

要解决此问题,我们执行了以下操作:

在数据库的 core_config_data 表中搜索<​​em> web / cookie / cookie_domain 条目,并确保此处的值适用于新域。

答案 2 :(得分:1)

insert into core_config_data (scope,value,scope_id,path) values ('default',0,0, 'customer/captcha/enable');

删除缓存

答案 3 :(得分:0)

我实际上已经想到这一点,我导航到/app/code/core/Mage/Captcha/etc/config.xml并删除了以下节点(需要sudo vi,因为它是只读的): <admin_user_authenticate_before> <observers> <captcha> <class>captcha/observer</class> <method>checkUserLoginBackend</method> </captcha> </observers> </admin_user_authenticate_before>

我仍然更喜欢Amit的答案,因为它不需要手动编辑核心中的任何文件,但这也有效,我想把它作为一个选项,以防将来有人遇到同样的问题并且无法访问数据库。当你完成时,将配置恢复到原始状态可能是一个好主意,除非你需要在持续的意义上回到后端。我希望尽可能在数据库中做得更好。

登录后,我将文件恢复到原始状态,并通过后端正确禁用验证码。

答案 4 :(得分:0)

解决方案:

对于Magento 2.x及更高版本


如果您有权访问数据库:

运行以下查询

SELECT * FROM `core_config_data` where path LIKE "%captcha%"

将两行都设置为0

Captcha config rows

如果您有权访问代码库

在以下配置文件中删除backend_login表单条目

Magento\vendor\magento\module-captcha\etc\config.xml

Captch config XML file

不要忘记刷新缓存: php bin/magento cache:flush

注意:登录到管理员后,请还原代码更改。