2014-03-19 38 views
0

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

是否有足够好的解决方案使用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)您的建议?

非常感谢您的回答。

回答

0

您试图使用哪种FPC?我们使用Lesti FPC(使用Redis缓存后端和会话后端)和Varnish并且工作正常。

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

+0

感谢您的注意,我一定是失明的。我们将这个http://www.magentocommerce.com/magento-connect/PHOENIX/extension/6322/varnish_cache与我们的系统一起使用,并且一直运行良好,直到1.8。好的,我们试试这个。非常感谢。 –

+0

你好Seth,我试图安装Lesti FPC,它看起来可以正常工作,但是只能作为独立使用,并且不能正常工作。你能否解释一下如何设置Lesti FPC,以便它能处理varnish的form_key?非常感谢你。 –