Text.HTML.SanitizeXSS

xss-sanitize-0.3.5.7: sanitize untrusted HTML to prevent XSS attacks

Safe Haskell | Safe
Language | Haskell98

Text.HTML.SanitizeXSS

Contents

- Sanitize
- Custom filtering
- Utilities

Description

Sanatize HTML to prevent XSS attacks.

See README.md http://github.com/gregwebs/haskell-xss-sanitize for more details.

Synopsis

- sanitize :: Text -> Text
- sanitizeBalance :: Text -> Text
- sanitizeXSS :: Text -> Text
- filterTags :: ([Tag Text] -> [Tag Text]) -> Text -> Text
- safeTags :: [Tag Text] -> [Tag Text]
- balanceTags :: [Tag Text] -> [Tag Text]
- safeTagName :: Text -> Bool
- sanitizeAttribute :: (Text, Text) -> Maybe (Text, Text)
- sanitaryURI :: Text -> Bool

# Sanitize

sanitize :: Text -> Text #

Sanitize HTML to prevent XSS attacks. This is equivalent to `filterTags safeTags`.

sanitizeBalance :: Text -> Text #

Sanitize HTML to prevent XSS attacks and also make sure the tags are balanced. This is equivalent to `filterTags (balanceTags . safeTags)`.

sanitizeXSS :: Text -> Text #

alias of sanitize function

# Custom filtering

filterTags :: ([Tag Text] -> [Tag Text]) -> Text -> Text #

Parse the given text to a list of tags, apply the given filtering function, and render back to HTML. You can insert your own custom filtering but make sure you compose your filtering function with `safeTags`!

safeTags :: [Tag Text] -> [Tag Text] #

Filters out any usafe tags and attributes. Use with filterTags to create a custom filter.

balanceTags :: [Tag Text] -> [Tag Text] #

Filter which makes sure the tags are balanced. Use with `filterTags` and `safeTags` to create a custom filter.

# Utilities

safeTagName :: Text -> Bool #

sanitizeAttribute :: (Text, Text) -> Maybe (Text, Text) #

low-level API if you have your own HTML parser. Used by safeTags.

sanitaryURI :: Text -> Bool #

Returns `True` if the specified URI is not a potential security risk.