SUPEE 6788 和密码重置(空白页)

Posted

技术标签:

【中文标题】SUPEE 6788 和密码重置(空白页)【英文标题】:SUPEE 6788 and Password Reset (blank page) 【发布时间】:2016-01-31 07:44:33 【问题描述】:

我已经安装了 SUPEE 6788。然后注意到当您点击电子邮件中的重置链接时,密码重置页面是空白的。任何想法如何使重置页面显示? 以前重置页面使用的是这个 /客户/帐户/重置密码/ 补丁更新后是 /customer/account/changeforgotten/ 它是空白的

补丁中的技术描述

APPSEC-1027,密码重置过程保护不足

此更改通过将 form_key 添加到客户注册页面 template/customer/form/register.phtml 以及对忘记密码页面 layout/customer.xml 和 template/customer/form/resetforgottenpassword.phtml 进行类似更改来影响模板。如果您的商店包含自定义的注册或忘记密码模板,请务必在此处添加此密钥..

【问题讨论】:

你检查过php错误日志,exception.log和system.log吗? 从来没有听说过changeforgotten。它发生在基本主题中吗? Changeforgotten 位于 app/code/core/Mage/Customer/Block/Account/Changeforgotten.php "reset link in the email" -- 不清楚你的意思是什么,这使得回答这个问题变得困难。 我找到了解决方案,基本上需要在customer.xml中添加几行atwix.com/magento/security-patch-supee-6788-installation-issues 【参考方案1】:

如果在SUPEE-6788 patch 之后您遇到«忘记密码问题»,也就是说页面是空白的。

您必须编辑customer.xml 文件并将客户布局customer_account_resetpassword 替换为customer_account_changeforgotten

文件位置:app/design/frontend/theme/default/layout/customer.xml 主题名称可能与您不同。

刷新缓存,一切顺利!

【讨论】:

完全为我工作。事实上它已经改变了页面的名称。 我还必须更改块类型:<block type="customer/account_resetpassword"<block type="customer/account_changeforgotten" 干得好,这个答案应该被接受。基本模板中的 customer.xml 实际上会随着更新而更改,因此只有在您有自定义模板时才需要这样做。 有多个customer.xml - 如果你发布了目录结构更多的人可以得到帮助 app/design/frontend/theme/default/layout/customer.xml 太棒了,这让我很开心;)【参考方案2】:

您必须编辑 customer.xml 文件并替换

customer_account_resetpassword translate="label"customer_account_changeforgotten translate="label"

block type="customer/account_resetpassword"block type="customer/account_changeforgotten"

文件位置为app/design/frontend/theme/default/layout/customer.xml,主题名称可能与您不同。

【讨论】:

【参考方案3】:

使用以下更改更新您的 app/design/frontend/%custom%/%theme%/layout/customer.xml 布局文件:

来源:gist.github.com/Nolwennig

【讨论】:

ohhhhhhhh 谢谢,我要花很多时间才能找到问题的根源!【参考方案4】:
Find

<customer_account_resetpassword translate="label">
    <label>Reset a Password</label>
    <remove name="right"/>
    <remove name="left"/>

    <reference name="head">
        <action method="setTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="root">
        <action method="setTemplate">
            <template>page/1column.phtml</template>
        </action>
        <action method="setHeaderTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="content">
        <block type="customer/account_resetpassword" name="resetPassword" template="customer/form/resetforgottenpassword.phtml"/>
    </reference>
</customer_account_resetpassword>

And Paste Below Code

<customer_account_changeforgotten translate="label">
    <label>Reset a Password</label>
    <remove name="right"/>
    <remove name="left"/>

    <reference name="head">
        <action method="setTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="root">
        <action method="setTemplate">
            <template>page/1column.phtml</template>
        </action>
        <action method="setHeaderTitle" translate="title" module="customer">
            <title>Reset a Password</title>
        </action>
    </reference>
    <reference name="content">
        <block type="customer/account_resetpassword" name="resetPassword" template="customer/form/resetforgottenpassword.phtml"/>
    </reference>
</customer_account_changeforgotten>

【讨论】:

以上是关于SUPEE 6788 和密码重置(空白页)的主要内容,如果未能解决你的问题,请参考以下文章

墨者靶场 登录密码重置漏洞分析溯源

react + zarm + rc-form + crypto-js 实现个人中心页面,头像上传,密码重置,登录退出功能

重置密码时避免“自动登录”

如何在 Django 密码重置中为密码重置添加用户名和电子邮件选项?

mysql重置密码,忘记密码,重置root密码,重置mysql密码

重置Azure虚拟机登录密码