KİS Markdown ve sunucu tarafı

1 Cevap php

I WMD ve Markdown üzerine son 2 gün çalıştım ve ben güvenlik ile stok verileri için çözüm bulmuyorum. Kullanıcıların sitemde (KİS) ile HTML / XML sonrası mümkün olmak istiyorum.

Şu an için, ben Markdown formatta veri stok, ama ben JavaScript devre dışı bırakırsanız kullanıcının kolayca XSS zorlayabilir. I strip_tags veya html_entities tüm veriler Ben kullanıcıyı HTML / XML kaybederseniz. Ben bunu nasıl yapabilirim?

Bence ben gerekir html_entities sadece ön / ön arasında kod, ama nasıl?! Benim veri Markdown olduğunu.

Sonra, ben XSS niteliklerini yasaklamak ne yapabilirim:

<img src="javascript:alert('xss');" />

1 Cevap

HTML'nizi "temizlemek" için HTML Purifier gibi bir araç kullanabilirsiniz

Temelde, bir sadece bu tutar, etiketlerin / özniteliklere izin hangi belirlemenizi sağlar.

Ayrıca çıktıya geçerli olarak (X) HTML kodu üretir - güzel olan.

Sen demo page neredeyse tam XSS btw, yayınlanan bir örnek yoktur görebilirsiniz ;-)

Örneğin, bu gibi bazı HTML ile deneyebilirsiniz:

test <img src="javascript:evil();" onload="evil();" /> 
test <img src="http://www.google.com/a.Png" /> test2

Çıktısı:

test  test <img src="http://www.google.com/a.Png" alt="a.Png" /> test2

XSS ile img etiketi tutulmuştur değil; diğeri vardır; ve alt özellik standart uyumlu olması için, ilave olmuş.

Bu, tüm sorunları çözmek, ancak giriş HTML kullanıcılara olasılıkları veriyoruz eğer, bu kesinlikle yararlı (would I dare saying "it's a must-have" ? ) değil olabilir