2014-03-19 58 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?非常感謝你。 –