content VS bluemonday

Compare content vs bluemonday and see what are their differences.

bluemonday

bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS (by microcosm-cc)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
content bluemonday
123 6
8,680 2,977
1.6% 1.9%
10.0 5.1
1 day ago 25 days ago
Markdown Go
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

content

Posts with mentions or reviews of content. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-13.
  • Here are the 10 projects I am contributing to over the next 6 months. Share yours
    13 projects | dev.to | 13 Apr 2024
    MDN Web Docs content
  • The character encoding cheat sheet for JS developers
    1 project | dev.to | 10 Apr 2024
    In this article, we've covered the basics of character encoding in JavaScript, including the different encoding standards, how they work, and how to work with them in Node.js and web browsers. We've also covered some best practices for working with character encoding in JavaScript and provided tips and techniques for debugging encoding issues. If you want to learn more about character encoding in JavaScript, there are several resources. The Unicode Consortium's website provides detailed information about the Unicode standard, while the Mozilla Developer Network has extensive documentation on character encoding in JavaScript. Additionally, there are several books on JavaScript that cover this topic in depth, such as "JavaScript: The Definitive Guide" by David Flanagan and "Eloquent JavaScript" by Marijn Haverbeke.
  • Explanation of CSS Gradients
    1 project | dev.to | 2 Apr 2024
    Great job! You've learned all about gradients and now you can use them like a CSS expert. With these skills, you can make your websites more colorful and attractive. you can read more in MDN website.
  • 10 JavaScript Sites Every Web Developer Should Know
    2 projects | dev.to | 31 Mar 2024
    (https://developer.mozilla.org/) MDN Web Docs is the go-to resource for comprehensive documentation on JavaScript. From beginner tutorials to advanced references, it covers everything you need to know about JavaScript, including syntax, methods, and APIs.
  • 10 Websites Every Web Developer Should Bookmark
    2 projects | dev.to | 30 Mar 2024
    (https://developer.mozilla.org/) This is your official guide to all things web development, straight from the team behind the popular Firefox browser. MDN boasts comprehensive documentation on HTML, CSS, JavaScript, and web APIs, making it an invaluable reference for developers of all levels.
  • Developer should-know websites
    3 projects | dev.to | 26 Mar 2024
    MDN Web Docs, previously Mozilla Developer Network
  • 🔥 Top 10 Best Websites to Learn Coding for Free! 💻
    2 projects | dev.to | 9 Mar 2024
    MDN Web Docs MDN Web Docs is an invaluable resource for web developers. From basic syntax to advanced concepts, you'll find comprehensive documentation on HTML, CSS, JavaScript, and more.
  • Next.js: consequence of AppRouter on your CSP
    3 projects | dev.to | 7 Mar 2024
    Nonce attribute from MDN
  • Web Development Tools and Resources
    5 projects | dev.to | 25 Feb 2024
    MDN Web Docs (Visit Site)
  • Symbiote.js 2.0
    3 projects | dev.to | 17 Jan 2024
    In Symbiote.js, almost everything you see should already be familiar to you, directly or indirectly. Unless you're new to frontend. And if you are a beginner, then you can learn the necessary basics on popular sites with documentation on modern specifications, for example MDN.

bluemonday

Posts with mentions or reviews of bluemonday. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-10.
  • Sponsor the open source projects you depend on
    6 projects | news.ycombinator.com | 10 Apr 2023
    I'm on the receiving end of donations from sourcegraph for this. It's around $10 per month from that single donation and is for the only Go HTML santizer, which you use when you have user generated / untrusted input that you need to display as HTML. https://github.com/microcosm-cc/bluemonday

    For me the library has been good enough for my own use for a very very long time. I mostly neglect it unless there's some critical issue. I don't improve it at all as my time is better spent on my day job.

    I've often thought that there's room for improvement such as a DOM style santizer to validate input rather than just a SAX style sanitizer, perhaps formatting of output in addition to sanitising input, transformation rules, etc.

    When I got the donation I was surprised, first ever bit of support for open source software I'd written (as this was not written on company dime).

    Even at $10 per month it's motivating enough to think someone values it. If it accrues into something significant I may actually feel motivated to improve it.

    Interesting is that I'd regard this as successful by usage, it's used by virtually everything in the Go world that makes a website.

    Perhaps people don't know it exists though? And for that awareness thanks to thanks.dev

  • How to secure POST API endpoint getting rich text editor HTML string
    1 project | /r/golang | 10 Apr 2023
    bluemonday is an html sanitizer you could try
  • Does anyone know of an HTML parser that would allow me to manipulate the HMTL? Namely I'm interested in stripping all attributes from strings.
    2 projects | /r/golang | 16 Dec 2022
    For sanitizing html input at work we use https://github.com/microcosm-cc/bluemonday.
  • Bluemonday: A fast Golang HTML sanitizer
    1 project | news.ycombinator.com | 29 May 2022
  • How to validate a string is a valid HTML tag/attribute?
    1 project | /r/golang | 6 Mar 2022
    Sounds like a task for bluemonday.
  • HTML Sanitizer API
    5 projects | news.ycombinator.com | 6 May 2021
    My thoughts as a maintainer of a HTML sanitizer https://github.com/microcosm-cc/bluemonday

    1. Sanitizing is not difficult, defining the policy/config is difficult as your need is not someone else's. First glance of this proposal is that this needs a lot more work to cover people's needs. It's good enough, but will have a lot of edges and will need to evolve.

    2. If you allow a blocklist then people will use that by default as it's easier to say "I don't want " than it is to say "I only accept 3. Even if you sanitize something you should keep the raw input... you should store the raw input alongside the sanitized (in fact the sanitized is merely a cached version of the raw input having been sanitized). The reason for this is you will have issues you need to debug (and can't without the input) and you will have round-trip edits you should support (but it's not round-trippable when everything you return is different from the input, do not punish a user who pasted HTML thinking it was safe by then not allowing them to edit it out because you threw everything away). Additionally if you want to ever report on the input, i.e. topK values, and you've modified the input and not kept raw, then you can never do this.

    4. Provide a sane default. Most engineers simply do not know what is safe or not. I ship a policy in bluemonday for user generated content... it is safe by default and good enough for most people, and it can be taken and extended due to the way the API is structured so can cover other scenarios as a foundation policy.

    I think the proposal in general: specify a standard for a sanitization API has merit. But mostly it has merit if it specifies a standard for defining sanitization policies/configuration, allowing them to be portable across different languages and systems.

    The one I wrote is very heavily inspired by https://github.com/owasp/java-html-sanitizer which is the OWASP project one maintained by Mike Samuel. When I did my research before writing the Go one, this was far and away the best way to construct the policy/config and I already saw that this perspective was more valuable than whether it's a token based parser (GIGO but low memory) or a DOM builder (more memory)... no-one cares about the internals, they care about expressing what safe means to them.

What are some alternatives?

When comparing content and bluemonday you can also consider the following projects:

Propeller - Propeller - Develop more, Code less. Propeller is a front-end responsive framework based on Google's Material Design Standards & Bootstrap.

mxj - Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.

sorbet - A fast, powerful type checker designed for Ruby

inject

synth - The Declarative Data Generator

go-pkg-xmlx

proposal-pipeline-operator - A proposal for adding a useful pipe operator to JavaScript.

GoQuery - A little like that j-thing, only in Go.

big-list-of-naughty-strings - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.

jsonpath - JSONPath with dot notation generator for golang

eslint-plugin-no-unsanitized - Custom ESLint rule to disallows unsafe innerHTML, outerHTML, insertAdjacentHTML and alike

sh - A shell parser, formatter, and interpreter with bash support; includes shfmt