2010-06-15 17 views
7

TinyMCE gibi WYSIWYG düzenleyicilerindeki kötü amaçlı girdileri nasıl önlersiniz?TinyMCE güvenlik sorusu: Kötü amaçlı girdileri nasıl önlersiniz?

"Teknolojiyi tanımayan" (yani WMD'siz) olmayan ve içeriği bir veritabanına gönderen zengin bir metin düzenleyicisine ihtiyaç duyan kullanıcılarla bir sistemim var.

Komut dosyası saldırıları ve kötü amaçlı giriş kodları için endişeleniyorum.

cevap

14

buldunuz. XSS'ye karşı koruma sağlamak ve tüm html'leri engellemek istiyorsanız, $var=htmlspcialchars($var,ENT_QUOTES);

+0

+1. Gerçekten iyi çalışır ve tek bir etiket veya tek bir öznitelik düzeyinde istediğinizi ve ne istediğinizi özelleştirmenizi sağlar – nico

-4
+2

javascript'i kullanmanız gerekiyorsa, bir saldırgan tarafından yoksayılabilir, bu da zararlı girişleri durdurmaz. – rook

+1

*** ASLA ***

İstemci doğrulaması güveniyor – Iraklis

+3

İstemci tarafı doğrulaması yararlıdır ve kullanılıyorsa kullanıcı deneyimi ve kullanılabilirliği doğru şekilde artırır, ancak DAİMA sunucu tarafı doğrulamasıyla birlikte olmalıdır. Tembel olduğumda, her zaman sunucu tarafı doğrulamasıyla başlarım ve THEN müşteriye aynı kontrolleri uygular. HTML Arıtma için – Iraklis

0

Sen istemci tarafında o girdi engelleyemez. Yolunuza girmek için bir şeyler ekleyebilirsiniz (veya deneyin), ancak kötü amaçlı kod göndermek her zaman önemsiz olacaktır. PHP'de dezenfekte edilmemelisiniz.

HER ZAMAN HER ZAMAN HER ZAMAN (sizin için bunun htmlentities olacak genellikle icabına) görüntülemeden önce kullanıcı gönderilen içeriği kaçmak.

HTML'nin gönderilme yeteneğini istiyorsanız (WYSIWYG'yi istediğinizi söylediğiniz gibi), o zaman gönderilecek HTML'yi beyaz listeye eklemelisiniz. Beyaz liste dediğimde, hem etiket adını hem de niteliğini kastediyorum.

Ben CodeIgniter ile aşina değilim, ama sadece o zaman HTML Purifier kullanmalıdır güvenli html istiyorsanız o istediğini yapabilir gibi görünüyor this ...