Magento 1.8和Varnish或其他FPC

时间:2014-03-19 15:38:21

标签: magento varnish magento-1.8

众所周知,Magento 1.8.x和Varnish出现了一些问题。 Magento团队为大多数前端表单和操作添加了支持“form_key”。这真的很棒,每个人都应该保持安全第一。然而,它导致FPC系统出现问题,如Varnish(关于此的好文章在这里http://www.supportdesk.nu/blog/110-magento-1-8-form-keys-impact-on-fpc)。 Magento上的许多FPC系统通过放置占位符并在从缓存加载页面期间替换“form_key”来解决它。它适用于集成到Magento中的PHP系统,但不适用于作为Varnish的外部系统。所以我的问题如下:

使用FPC作为Varnish和Magento 1.8.x是否有足够好的解决方案?

我考虑以下

1)防止在前端使用“form_key”,有很多方法可以做到这一点(例如:https://bitbucket.org/supportdesk_nl/turpertine-formkey-workaround/src/574ff1851618dc0e76e4274001fbf3efb89c99f6/app/code/community/SupportDesk/CartFormKey/Model/Observer.php?at=master)。然而,这是黑客,并不是一般的好。还有可能存在安全隐患吗?你这是什么意思?

2)通过AJAX加载“form_key”并用JavaScript代码替换所有链接和表单输入。我不确定它是技术上可实现的(例如:替换代码片段,如onclick =“setLocation('....& form_key = XXX');”会太困难)并且会导致太多问题和不兼容性各种扩展。

3)不要使用清漆。是的,这将是一个解决方案,但现在让我们避开它们。

4)你的建议???

非常感谢您的回答。

1 个答案:

答案 0 :(得分:0)

你还想尝试使用哪种FPC?我们使用Lesti FPC(带有Redis Cache后端和会话后端)和Varnish,它工作正常。

我不知道您是否正确阅读了您发布的某个链接,但Lesti FPC已经通过this commit, 5 months ago进行了修补。