正如我們都知道的那樣,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)您的建議?
非常感謝您的回答。
感謝您的注意,我一定是失明的。我們將這個http://www.magentocommerce.com/magento-connect/PHOENIX/extension/6322/varnish_cache與我們的系統一起使用,並且一直運行良好,直到1.8。好的,我們試試這個。非常感謝。 –
你好Seth,我試圖安裝Lesti FPC,它看起來可以正常工作,但是隻能作爲獨立使用,並且不能正常工作。你能否解釋一下如何設置Lesti FPC,以便它能處理varnish的form_key?非常感謝你。 –