'Sanal' istediğiniz kullanıcı form HTML teslim

2 Cevap php

Kullanıcıların html biçimlendirilmiş veri göndermenize olanak sağlayan bir textarea ile kullanıcı formu var. Html kendisi PHP strip_tags ile sınırlıdır, ancak vb hiçbir tamamlama denetimi yok tabii

Benim temel sorun, bir kullanıcı gibi <a> etiketi, o kullanıcı içerik görüntüleme alanı 'dışında' olan aşağıdaki sayfa içeriğine dahil izleyen sonra tüm içeriği, gibi kapanmayan bir etiket, bırakın gerektiğidir olabilir şimdi biçimlendirilmiş olabilir.

Uygun etiket tamamlanması için denetleniyor ben bakmak olacak bir çözümdür, ama ideal uzak bir şekilde sitenin geri kalanından kullanıcı htmlified içeriği duvarı istiyorum.

2 Cevap

Kullan HTML Purifier. Çok kapsamlı ve kolay kullanımlı bağımsız eklentisi. Kesinlikle tüm işaretleme geçerli XHTML ve ayrıca XSS saldırıları engeller yapar.

Ben senin veritabanında kullanıcının HTML giriş iki kopyasını tasarruf öneriyoruz. Bir kopya Eğer onlar sonra kendi sayfasını düzenlemek için ne zaman kullanabileceğiniz gönderdikleri ham formu olacak ve ikinci çıkışını görüntülemek hangi HTML Arıtma tarafından dezenfekte olacaktır. Dezenfekte sürümü saklanması her sayfa yük HTML Arıtma koşuyoruz çok daha hızlıdır.

Tam izolasyon elde etmek için tek yolu bir iframe kullanmak olacaktır.

Diğer çözüm kullanıcıların istihdam olabilir html etiketleri sınırlamak olacaktır. Paragraf ve satır içi etiketler (string, em, a, vb) kullanıcıları sınırlayan bir div etiketi tüm içeriği sarmak ve olabilir sağlayacak açık etiketleri konusunda endişelenmenize gerek yok.