Joomla CMS  4.2.2
Documentation des API du CMS Joomla en version 4.2.2
Référence de la classe Sanitizer

Fonctions membres publiques

 __construct ()
 
 setXMLOptions ($xmlOptions)
 
 getXMLOptions ()
 
 getAllowedTags ()
 
 setAllowedTags (TagInterface $allowedTags)
 
 getAllowedAttrs ()
 
 setAllowedAttrs (AttributeInterface $allowedAttrs)
 
 removeRemoteReferences ($removeRemoteRefs=false)
 
 getXmlIssues ()
 
 sanitize ($dirty)
 
 minify ($shouldMinify=false)
 
 removeXMLTag ($removeXMLTag=false)
 
 useThreshold ($useThreshold=1000)
 
 setUseNestingLimit ($limit)
 

Fonctions membres protégées

 resetInternal ()
 
 setUpBefore ()
 
 resetAfter ()
 
 cleanAttributesOnWhitelist (\DOMElement $element)
 
 cleanXlinkHrefs (\DOMElement $element)
 
 cleanHrefs (\DOMElement $element)
 
 isHrefSafeValue ($value)
 
 removeNonPrintableCharacters ($value)
 
 hasRemoteReference ($value)
 
 isAriaAttribute ($attributeName)
 
 isDataAttribute ($attributeName)
 
 isUseTagDirty (\DOMElement $element)
 
 isUseTagExceedingThreshold (\DOMElement $element)
 

Attributs protégés

 $xmlDocument
 
 $allowedTags
 
 $allowedAttrs
 
 $xmlLoaderValue
 
 $minifyXML = false
 
 $removeRemoteReferences = false
 
 $useThreshold = 1000
 
 $removeXMLTag = false
 
 $xmlOptions = LIBXML_NOEMPTYTAG
 
 $xmlIssues = array()
 
 $elementReferenceResolver
 
 $useNestingLimit = 15
 

Documentation des constructeurs et destructeur

◆ __construct()

__construct ( )

Documentation des fonctions membres

◆ cleanAttributesOnWhitelist()

cleanAttributesOnWhitelist ( \DOMElement  $element)
protected

Only allow attributes that are on the whitelist

Paramètres
\DOMElement$element

This is used for when a namespace isn't imported properly. Such as xlink:href when the xlink namespace isn't imported. We have to do this as the link is still ran in this case.

Références $href, Sanitizer\hasRemoteReference(), Sanitizer\isAriaAttribute(), Sanitizer\isDataAttribute(), Sanitizer\isHrefSafeValue(), et Sanitizer\removeRemoteReferences().

◆ cleanHrefs()

cleanHrefs ( \DOMElement  $element)
protected

Clean the hrefs of script and data embeds

Paramètres
\DOMElement$element

Références $href, et Sanitizer\isHrefSafeValue().

◆ cleanXlinkHrefs()

cleanXlinkHrefs ( \DOMElement  $element)
protected

Clean the xlink:hrefs of script and data embeds

Paramètres
\DOMElement$element

Références Sanitizer\isHrefSafeValue().

◆ getAllowedAttrs()

getAllowedAttrs ( )

Get the array of allowed attributes

Renvoie
array

Références Sanitizer\$allowedAttrs.

◆ getAllowedTags()

getAllowedTags ( )

Get the array of allowed tags

Renvoie
array

Références Sanitizer\$allowedTags.

◆ getXmlIssues()

getXmlIssues ( )

Get XML issues.

Renvoie
array

Références Sanitizer\$xmlIssues.

◆ getXMLOptions()

getXMLOptions ( )

Get XML options to use when saving XML See: DOMDocument::saveXML

Renvoie
int

Références Sanitizer\$xmlOptions.

◆ hasRemoteReference()

hasRemoteReference (   $value)
protected

Does this attribute value have a remote reference?

Paramètres
$value
Renvoie
bool

Références $value, et Sanitizer\removeNonPrintableCharacters().

Référencé par Sanitizer\cleanAttributesOnWhitelist().

◆ isAriaAttribute()

isAriaAttribute (   $attributeName)
protected

Check to see if an attribute is an aria attribute or not

Paramètres
$attributeName
Renvoie
bool

Référencé par Sanitizer\cleanAttributesOnWhitelist().

◆ isDataAttribute()

isDataAttribute (   $attributeName)
protected

Check to see if an attribute is an data attribute or not

Paramètres
$attributeName
Renvoie
bool

Référencé par Sanitizer\cleanAttributesOnWhitelist().

◆ isHrefSafeValue()

isHrefSafeValue (   $value)
protected

Only allow whitelisted starts to be within the href.

This will stop scripts etc from being passed through, with or without attempting to hide bypasses. This stops the need for us to use a complicated script regex.

Paramètres
$value
Renvoie
bool

Références $value.

Référencé par Sanitizer\cleanAttributesOnWhitelist(), Sanitizer\cleanHrefs(), et Sanitizer\cleanXlinkHrefs().

◆ isUseTagDirty()

isUseTagDirty ( \DOMElement  $element)
protected

Make sure our use tag is only referencing internal resources

Paramètres
\DOMElement$element
Renvoie
bool

◆ isUseTagExceedingThreshold()

isUseTagExceedingThreshold ( \DOMElement  $element)
protected

Determines whether <use ... xlink:href="#identifier"> is expanded recursively in order to create DoS scenarios. The amount of a actually used element needs to be below $this->useThreshold.

Paramètres
\DOMElement$element
Renvoie
bool

◆ minify()

minify (   $shouldMinify = false)

Should we minify the output?

Paramètres
bool$shouldMinify

◆ removeNonPrintableCharacters()

removeNonPrintableCharacters (   $value)
protected

Removes non-printable ASCII characters from string & trims it

Paramètres
string$value
Renvoie
bool

Références $value.

Référencé par Sanitizer\hasRemoteReference().

◆ removeRemoteReferences()

removeRemoteReferences (   $removeRemoteRefs = false)

Should we remove references to remote files?

Paramètres
bool$removeRemoteRefs

Référencé par Sanitizer\cleanAttributesOnWhitelist().

◆ removeXMLTag()

removeXMLTag (   $removeXMLTag = false)

Should we remove the XML tag in the header?

Paramètres
bool$removeXMLTag

Référencé par Sanitizer\sanitize().

◆ resetAfter()

resetAfter ( )
protected

Reset the class after use

Référencé par Sanitizer\sanitize().

◆ resetInternal()

resetInternal ( )
protected

Set up the DOMDocument

Références Sanitizer\$minifyXML.

Référencé par Sanitizer\sanitize().

◆ sanitize()

sanitize (   $dirty)

Sanitize the passed string

Paramètres
string$dirty
Renvoie
string

Références $this, Sanitizer\removeXMLTag(), Sanitizer\resetAfter(), Sanitizer\resetInternal(), et Sanitizer\setUpBefore().

◆ setAllowedAttrs()

setAllowedAttrs ( AttributeInterface  $allowedAttrs)

Set custom allowed attributes

Paramètres
AttributeInterface$allowedAttrs

Références Fig\Link\getAttributes().

◆ setAllowedTags()

setAllowedTags ( TagInterface  $allowedTags)

Set custom allowed tags

Paramètres
TagInterface$allowedTags

◆ setUpBefore()

setUpBefore ( )
protected

Set up libXML before we start

Référencé par Sanitizer\sanitize().

◆ setUseNestingLimit()

setUseNestingLimit (   $limit)

Set the nesting limit for <use> tags.

Paramètres
$limit

◆ setXMLOptions()

setXMLOptions (   $xmlOptions)

Set XML options to use when saving XML See: DOMDocument::saveXML

Paramètres
int$xmlOptions

Références Sanitizer\$xmlOptions.

◆ useThreshold()

useThreshold (   $useThreshold = 1000)

Whether <use ... xlink:href="#identifier"> elements shall be removed in case expansion would exceed this threshold.

Paramètres
int$useThreshold

Documentation des champs

◆ $allowedAttrs

$allowedAttrs
protected

Référencé par Sanitizer\getAllowedAttrs().

◆ $allowedTags

$allowedTags
protected

Référencé par Sanitizer\getAllowedTags().

◆ $elementReferenceResolver

$elementReferenceResolver
protected

◆ $minifyXML

$minifyXML = false
protected

Référencé par Sanitizer\resetInternal().

◆ $removeRemoteReferences

◆ $removeXMLTag

$removeXMLTag = false
protected

◆ $useNestingLimit

$useNestingLimit = 15
protected

◆ $useThreshold

$useThreshold = 1000
protected

◆ $xmlDocument

$xmlDocument
protected

◆ $xmlIssues

$xmlIssues = array()
protected

Référencé par Sanitizer\getXmlIssues().

◆ $xmlLoaderValue

$xmlLoaderValue
protected

◆ $xmlOptions

$xmlOptions = LIBXML_NOEMPTYTAG
protected

La documentation de cette classe a été générée à partir du fichier suivant :