Symfony / Doktrini: şablonda vs eylem unserialize

1 Cevap php

Bir eylem çalışıyor ancak bir şablonda bir ofset hatası veriyor "unserialize" çağıran neden kimse bana söyleyebilir misiniz?

Bu güzel görüntüler bu durumda, bir eylem, bir değişkene bir veritabanı metin sonuç unserialize ve şablona geçmek temelde mümkündür:

$this->clean = unserialize($this->raw);
<?php echo $clean ?>

Ama bir şablon doğrudan denilen değilse:

<?php echo unserialize($raw) ?>

Bu bazı geçici çözüm var mı böyle olduğunu ve neden bilmek ilgi olacaktır.

Teşekkürler.

1 Cevap

Symfony sfOutputEscaperArrayDecorator sınıfa tüm şablon değişkenleri koyar. Eğer unserialize($var) yazarken Yani, aslında sfOutputEscaperArrayDecorator sınıfını nesneleştirmek çalışıyoruz.

Ben settings.yml kaçan çıkışını kapatarak öneriyor:

escaping_strategy:     false

Öldürülmüş ihtiyacı Symfony'de bir aptal, performans-parçalıyor, gereksiz bir özelliktir.

Updated:

Eğer escaping_strategy kapatırsanız, size htmlSpecialCharacters() ile (XSS önlemek için) elle kullanıcılardan giriş kaçmak gerekir.

Symfony sınıfı sizin için yapar, ama bu aynı zamanda her bir numara ve karakter kaçar gelir -% 99 zaten güvenli olacak biliyorum hangi (kimlikleri, tarihleri, kendi içerik). Ben otomatik kaçan kapatıldığında, benim sunucu yükü önemli ölçüde düştü.

Bir sfOutputEscaperArrayDecorator geçmek eğer Symfony double-applies Bu otomatik kaçan unutmayın kısmi, > olacak anlamına &amp;gt;