DOMPurify
sanitize-html
DOMPurify | sanitize-html | |
---|---|---|
49 | 5 | |
14,234 | 3,867 | |
- | 1.2% | |
8.9 | 6.5 | |
5 days ago | 4 days ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
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.
DOMPurify
-
The Final Stretch of My Open Source Journey: Part 2
After several hours of code review, I finally spotted something unfamiliar in the Markdown Renderer component: a function called escapeHTML was being used to escape HTML, even though DOMPurify was already being used for sanitization right after!
-
Understanding Cross-Site Scripting (XSS): A Quick Reference
DOMPurify Documentation
-
Securing JavaScript Applications: Common Vulnerabilities and How to Avoid Them
Use libraries such as DOMPurify to sanitize input.
-
Mitigate XSS exploits when using React's `dangerously SetInnerHTML`
//https://github.com/cure53/DOMPurify import React from "react"; import DOMPurify from "dompurify"; const sanitize = (dirty) => DOMPurify.sanitize(dirty); const DangerousHtml = ({ innerHTML, tag }) => { const clean = sanitize(innerHTML); if (typeof tag === "undefined") { return
; } return ; }; export default DangerousHtml; -
Navigating the Security Risks of Arbitrary Values in Tailwind CSS
Input Sanitization: The most crucial step in preventing XSS attacks is to ensure that all user-generated content is properly sanitized before it is rendered on the page. Use libraries like DOMPurify or built-in sanitization functions provided by your framework (e.g., React's dangerouslySetInnerHTML) to strip out any potentially harmful code.
-
Safely Handling HTML in React
When using dangerouslySetInnerHTML, it is crucial to sanitize the HTML strings to prevent XSS attacks. DOMPurify is a robust library that cleans HTML content by removing or neutralizing potentially dangerous scripts or tags.
-
Show HN: Markdown HN profiles at {user}.at.hn
Since marked doesn't do it for you, make sure you sanitize the user input (the text on the user profiles) before rendering it to visitors.
Some libraries for doing that with good defaults:
- https://github.com/cure53/DOMPurify
- https://github.com/apostrophecms/sanitize-html
- https://github.com/bevacqua/insane
(right now your site looks vulnerable to XSS)
-
JavaScript Libraries for Implementing Trendy Technologies in Web Apps in 2024
DOMPurify
- Lessons from open-source: Use window.trustedTypes to prevent DOM XSS.
-
Launched my Social Media website for lonely people living abroad, all thanks to NextJS!
I saw that some people were injecting alerts. If you haven't fixed it yet, consider using something like DOMPurify to sanitize the HTML input before posting it to the db.
sanitize-html
-
Show HN: Markdown HN profiles at {user}.at.hn
Since marked doesn't do it for you, make sure you sanitize the user input (the text on the user profiles) before rendering it to visitors.
Some libraries for doing that with good defaults:
- https://github.com/cure53/DOMPurify
- https://github.com/apostrophecms/sanitize-html
- https://github.com/bevacqua/insane
(right now your site looks vulnerable to XSS)
-
What tools do you use to generate css/xpath selectors?
Sometimes I use sanitize-html to clean up the html and ask chatgpt to help me refine my selectors.
-
Add Mastodon replies to your blog
One thing to watch out for is that the content of each reply is HTML. To be safe (paranoid), I'm running the HTML through sanitize-html to make sure nobody can inject sketchy HTML into my site.
-
Made an IMDB application using the TMDB API. The design is a bit similar to what you find on a streaming website. I made this with HTML, SCSS & Vanilla JS. Tips, feedback & suggestions would be greatly appreciated.
Don't forget to sanitize your HTML using https://github.com/apostrophecms/sanitize-html or upcoming feature: https://developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API because https://nimb.ws/leTXDt
-
How To Parse and Render Markdown In Vuejs
Vue does not have as much support for Vue as there is for React. Examples are markdown-it, Remark.js, marked.js. But hopefully in the future, there should be more support, and after much research, I picked marked.js because it has the most stars and has zero vulnerability. Marked does not sanitize (meaning it does not secure HTML documents from attacks like cross-site scripting (XSS) ) marked output HTML as that feature is deprecated and has vulnerability but however, it supports the use of other libraries to secure output HTML such as DOMPurify (recommended), sanitize-html or insane.
What are some alternatives?
js-xss - Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist
HtmlSanitizer - Cleans HTML to avoid XSS attacks
xss-filters
SuperTokens Community - Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Next.js - The React Framework
Retire.js - scanner detecting the use of JavaScript libraries with known vulnerabilities. Can also generate an SBOM of the libraries it finds.
isomorphic-dompurify - Use DOMPurify on server and client in the same way
cidaas SDK for JS - With this SDK, you can integrate cidaas smoothly and with minimal effort into your javascript application. It enables you to map the most important user flows for OAuth2 and OIDC compliant authentication. Secure – Fast – And unrivaled Swabian.
Themis - Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
insane - :pouting_cat: Lean and configurable whitelist-oriented HTML sanitizer