`

magento布局文件formkey的作用

 
阅读更多

magento表单提交时有个key,是如何引用进模板的:

<?php echo $this->getBlockHtml('formkey')?>

 

formkey配置代码:

<block name=”formkey” type=”core/template” template=”core/formkey.phtml” />

 

模板文件formkey.phtml内容:

 

<input name=”form_key” type=”hidden” value=”<?php echo Mage::getSingleton(‘core/session’)->getFormKey() ?>” />

 core/session对应的文件为core/model/session.php。

 

验证key是否正确的底层代码:

protected function _validateFormKey()
{
    if (!($formKey = $this->getRequest()->getParam(‘form_key’, null)) || $formKey != Mage::getSingleton(‘core/session’)->getFormKey()) {
        return false;
    }
    return true;
}

 从中可以看出当前网页的form_key与系统保存的form_key进行判断,如不同就返回false;

 

表单提交时验证KEY是否正确:

public function editPostAction()
{
    if (!$this->_validateFormKey()) {
        return $this->_redirect('*/*/edit');
    }
}

 

 

分享到:
评论

相关推荐

    magento商城数据库

    本文件是 Magento 数据库的建库文件,用于快速构建和初始化 Magento 系统所需的完整数据库结构。 SQL 文件是数据库结构和数据的脚本表示,通常包含创建表、索引、视图、触发器和存储过程等数据库对象的指令。在这个...

    magento文件

    magento的二次开发文档 方便 快捷 省事 绝版推出哟

    No_Frills_Magento_Layout.

    在Magento中,页面布局是由布局文件来控制的,通常这些布局文件是XML格式。我们可以通过XML来定义页面布局,包括页面结构、块(Block)的嵌套以及更高级的块功能。块是Magento用来构造用户界面的组件。在Magento的...

    varnish-magento

    "supportdesk_nl-turpertine-formkey-workaround-574ff1851618" 这个文件名可能指的是一个针对特定问题的补丁或解决方案。在Magento中,form key是一个安全措施,用于防止跨站请求伪造(CSRF)攻击。然而,有时...

    magento入门学习资料

    XML文件在Magento中起着核心作用,它们定义了模块结构、布局、配置和主题元素。如`config.xml`用于模块配置,`layout.xml`控制页面元素布局,`local.xml`则允许对默认布局进行自定义。掌握XML语法和这些文件的用途...

    nginx_php_magento配置文件

    配置`nginx`以支持`Magento`涉及多个步骤,包括设置基本的服务器块、指定错误页面、处理静态文件、反向代理到`PHP-FPM`等。以下是一个基础的`nginx`配置示例: ```nginx server { listen 80; server_name example...

    magento2.4在windows下运行补丁文件.zip

    务必谨慎操作,确保你了解每个文件的作用。 6. **运行命令行工具**:Magento 2.4的许多补丁需要通过命令行工具(如PHP的`bin/magento`或Composer)来应用。打开命令行界面,导航到Magento根目录,然后运行相应的...

    Magento认证工程师考试提纲

    - **描述Magento模板和布局文件的位置**:模板文件主要位于`app/design/frontend/&lt;theme&gt;/&lt;package&gt;/template/`目录下,而布局文件则位于`app/design/frontend/&lt;theme&gt;/&lt;package&gt;/layout/`。 - **描述Magento皮肤...

    Magento企业版 源代码

    在`app/design`目录中,你可以找到Magento的模板文件和布局文件,用于自定义商店的前端展示。`app/etc`目录包含了Magento的配置文件,如Mage.php、config.xml等,它们定义了系统设置、模块启用状态以及依赖关系。`...

    magento快速复制网站_magento_magento快速复制站_

    这包括所有的 Magento 根目录文件以及媒体、skin和var等目录。可以使用`rsync`或FTP客户端完成这一操作: ```bash rsync -avz --delete /path/to/source/magento/ /path/to/destination/ ``` 这里,`/path/to/...

    magento结构和原理

    magento结构和原理 magento结构和原理是magento...通过了解magento的文件目录结构、URL路由与分发器、模板调用对应的JS、CSS、图片、重写核心模块等知识点,可以更好地理解magento的工作机理和开发magento模块和主题。

    深入学习Magento必读

    布局文件告诉Magento如何组合不同的块来构建整个页面。 - **Helper(助手)**:助手类提供了一些通用功能和工具方法,为模型、控制器、视图等提供辅助支持,使代码更整洁,逻辑更清晰。 了解并掌握Magento的MVC架构...

    Magento2.3 最新中文开发文档

    * VDE 允许分配和取消分配主题,编辑主题 CSS 和 JS 文件,更改页面布局以及在所见即所得(WYSIWYG)模式下管理块及其在页面上的位置。 * VDE 不会成为 Magento 初始发行版的一部分,但 VDE 的未来计划将在稍后的...

    Magento php开发指南

    4. 模块开发:深入探讨如何创建和开发Magento模块,模块是Magento扩展功能的主要方式,包括如何注册和启用模块,如何定义配置文件、数据模型、控制器和视图文件等。 5. 主题和样式定制:指导开发者如何通过修改或...

    magento学习重点

    例如,`header` Block在`page.xml`布局文件中被定义,然后在页面模板文件(如`1column.phtml`)中通过`getChildHtml('header')`函数调用来显示。每个Block类型由特定的类实现,如`Mage_Page_Block_Html_Header`,...

    如何制作属于自己的Magento主题

    在Magento中,布局文件(通常位于app/design/frontend/your_package/your_theme/layout目录下)定义了各个页面元素的逻辑结构。通过修改这些XML文件,可以调整页面的宽度、列数、内容顺序等。 4. 模板:模板是实现...

    II. Magento扩展使用模板文件

    Magento的布局更新XML文件定义了页面元素的位置、大小和行为。在这个文件中,你可以声明Block类,设置其模板文件,以及控制Block的嵌套和显示顺序。例如,以下代码会在页面上创建一个新的Block,并关联模板文件: `...

    magento 模板制作教程

    布局文件基于特定的页面类型,比如产品详情页、分类页或首页,可以调整页面元素的位置和交互方式。 5. 模板 "模板"(Template)是 HTML 文件,它们决定了页面的具体内容和样式。Magento 允许开发者通过修改模板文件...

Global site tag (gtag.js) - Google Analytics