Mevcut herhangi bir iyi PHP tabanlı HTML filtreler var mı?

6 Cevap php

Ben bir PHP önyüz ile bir proje şu anda duyuyorum. Biz kullanıcıların oldukça çok şey var ve hackerlar için cazip bir hedef vardır edeceğiz, çünkü biz, güvenlik konusunda oldukça endişeliyiz. Bizim kullanıcıları, daha sonra diğer kullanıcılar tarafından görülebilir HTML biçimlendirilmiş içerik göndermek mümkün. Biz XSS saldırıların tüm set için savunmasız çünkü bu büyük bir sorundur. Biz olabildiğince iyi filtre uyguluyorsanız, ancak saldırı vektörleri çeşitli oldukça büyük.

Yani, PHP tabanlı HTML sanitasyon / filtreleme çözümlerinin arıyorum. Ticari çözümleri (hatta tercih edilir) ince. Şu anda biz bir modifiye HTML temizleyici kullanıyorsanız, ama biz sonuçlardan memnun değiliz.

HTML kötü niyetli parçaları filtreleme yeteneğine sahip olan bazı iyi kütüphaneler / araçları nelerdir?

Bu örneğin o "vahşi" mevcut bulunuyor kez bir güvenlik kabusu olacak HTML5 farkındalık, olması güzel.

Update: We're doing an in-depth configuration of HTML Purifier. It looks like the older framework we used before was just not configuring it at all. Now the results look much better.

6 Cevap

HTML Purifier project

Şahsen ben HTML Purifier project ile çok iyi sonuçlar vardı

Bu son derece özelleştirilebilir ve büyük bir kod tabanı vardır. Tek sorun sunucuya dosyaları yükleyerek.

Eğer kurulum ile bir yapılandırma sorunu yok emin misin? Doğru yapılandırılmış ise temizleyici hiç bir HTML etiketleri geçmesine izin vermemelisiniz.

From the web site:

HTML Purifier is a standards-compliant HTML filter library written in PHP. HTML Purifier will not only remove all malicious code (better known as XSS) with a thoroughly audited,
secure yet permissive whitelist, it will also make sure your documents are standards compliant, something only achievable with a comprehensive knowledge of W3C's specifications.
Tired of using BBCode due to the current landscape of deficient or
insecure HTML filters? Have a
WYSIWYG editor but never been able to use it? Looking for high-quality, standards-compliant, open-source components for that application you're building? HTML Purifier is for you!

Burada HTML purifier library with CodeIgniter nasıl kullanılacağı hakkında bir makale yazdı.

Belki o başka bir deneyin vererek yardımcı olacaktır:

// load the config and overide defaults as necessary
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML', 'Doctype', 'XHTML 1.0 Transitional');
$config->set('HTML', 'AllowedElements', 'a,em,blockquote,p,strong,pre,code');
$config->set('HTML', 'AllowedAttributes', 'a.href,a.title');
$config->set('HTML', 'TidyLevel', 'light'); 

Eğer bağımsız bir işlev olarak isteseydi CodeIgniter mükemmel bir XSS filtresi vardır, sistem / kütüphaneleri / Input.php dosyanın dışarı rip olabilir.

kses iyi çalışıyor. Kolaylıkla bu yüzden 'HTML5 farkında' sadece bir dizi ayar meselesi olacaktır yapma, izin ve izin vermemek için hangi unsurları belirtebilirsiniz.

WordPress kullanır, bu yüzden oldukça güvenli sanırım ;)

Gerçekten kses HTML filtreleme için tavsiye ederim. Aslında bu kullanımları wordpress buydu. Onun özgür ve açık kaynak.

You can use your current solution and add iframes with different base URLs to show the contents. Changing the base URL on the iframe will disable access from the internal JavaScript code to the main page. That is, if your URL is http://www.yoururl.com/thread/500 you can use it in the iframe to show content, something like: http//yoururl.com/thread/500/coment/1, http//yoururl.com/thread/500/coment/2.

Eğer ayarlayabilirsiniz temel URL DNS / konak yapılandırması bağımlı olabilir.

Başka bir şey bulana kadar yararlı olabilir, ancak bu, sorunu çözmek için ama üzerinden atlamak için bir çözüm değil.

HTMLPurifier muhtemelen çalışır ama bana sadece klasör yapısı aşırı karmaşık ve görkemli olduğunu söyleyelim. Yorum, "test" adında bir klasör, bir lisans dosyası, okuma-mes ve bilgi dosyaları, resimler, (düpedüz küfürlü) smoketesting için başka bir klasör, ekstralar, yapılandırmaları, hatların Yüzlerce kriterler ve tüm kapalı dön, kendi web sitesinde ilgili 10 farklı CMS uyumluluk modu, referanslar, tam sürüm, lite sürümleri, husky, hafif-tombul, down-sendromu ve siyaseten doğru programatical varyasyonların tam spektrum.