Frage

Ich bin auf der Suche zu beginnen, eine gehostete CMS-service für die Kunden.

Wie wäre es, es würde verlangen, dass der Kunde zur Eingabe von text, das wäre gedient, bis jemand kommt zu Besuch Ihrer Website.Ich bin der Planung über die Verwendung von Markdown, eventuell in Kombination mit Massenvernichtungswaffen (live-markdown-Vorschau, die SO verwendet) für die große Blöcke von text.

Nun, ich sollte die Desinfektion der Ihren input für html?Da würde es nur eine Handvoll Leute, die Bearbeitung Ihrer 'CMS', alle zahlenden Kunden, sollte ich werden entfernen die schlechte HTML -, oder sollte ich lass Sie laufen wild?Nach alle, es ist Ihre 'Baustelle'

Edit: Der Hauptgrund, warum ich es tun würde, ist zu lassen Sie Sie Ihre eigenen javascript-und haben eigene css und divs und was nicht für die Ausgabe

War es hilfreich?

Lösung

Warum nicht Desinfizieren Sie die Eingabe?

Wenn Sie nicht tun, du Unglück einladen -. Entweder Ihre Kunden oder sich selbst oder beide

Andere Tipps

Ihre Frage fragt:

"Bearbeiten":Der Hauptgrund, warum ich es tun würde, ist zu lassen Sie Sie Ihre eigenen javascript-und haben eigene css und divs und was nicht, ist für die Ausgabe".

Wenn Sie Benutzern erlauben, zu liefern, beliebigen JavaScript-Code, dann die Desinfektion der Eingang ist nicht der Mühe Wert.Die definition von Cross-Site-Scripting (XSS) ist im Grunde "Benutzer können die Lieferung von JavaScript und einige Benutzer sind schlecht".

Nun, einige websites ermöglichen es Benutzern, zu liefern, JavaScript-und Sie verringern das Risiko, in einem von zwei Möglichkeiten:

  1. Host die einzelnen Benutzers CMS unter einer anderen domain.Blogger und Tumblr (z.B.myblog.blogspot.com vs.blogger.com) tun dies, um zu verhindern, dass Benutzer-Vorlagen stehlen, anderen Benutzers cookies.Sie müssen wissen, was Sie tun, und nie Gastgeber Benutzerinhalte unter der root-Domäne.
  2. Wenn Benutzer Inhalt ist niemals mit anderen Personen geteilt, dann ist es egal, welches Skript böswillige Benutzer liefern.Allerdings CMS sind zu teilen, so dass dies wahrscheinlich nicht hier bewerben

Es gibt einige Blacklist-Filter gibt, die arbeiten können, aber Sie funktionieren nur, heute.Der HTML-Spezifikation und Browsern ändern sich regelmäßig, die macht die Filter fast nicht mehr zu halten.Blacklisting ist ein sicher Feuer Weg, um sowohl Sicherheit als auch funktionelle Probleme.

Beim Umgang mit user-Daten, immer behandeln es als nicht vertrauenswürdig.Wenn Sie nicht so früh im Produkt und Szenarien ändern, ist es fast unmöglich, zurück zu gehen und finden Sie alle XSS-Punkte oder modifythe Produkt, um zu verhindern, dass XSS-ohne Auswirkungen auf Ihre Benutzer.

Sie werden auch wieder unzufriedene Mitarbeiter, Cross Kunden Angriffe, oder jede andere Art von idiotischem Verhalten werden zu schützen.

Sie sollten immer sanieren, unabhängig von den Benutzer oder Zuschauer.

Mindestens analysieren deren Eintritt eine nur eine bestimmte „sichere“ Teilmenge von HTML-Tags ermöglichen.

Ich glaube, Sie sollten immer die Eingabe sanieren. Die meisten Leute benutzen ein CMS, weil sie nicht wollen, ihre eigene Website von Grund auf neu erstellen und sie wollen einfach Zugriff auf ihre Seiten zu bearbeiten. Diese Nutzer wahrscheinlich nicht versuchen, in Text zu setzen, die hygienisiert würde, aber durch den Schutz gegen sie Sie schützen ihre Nutzer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top