From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

BEGIN {
$String::Clean::XSS::VERSION = '0.031';
}
#use base qw{Exporter String::Class};
use Exporter qw{import};
our @EXPORT = qw{clean_XSS convert_XSS};
use strict;
=head1 NAME
String::Clean::XSS - Clean up for Cross Site Scripting (XSS)
=head1 SYNOPSIS
Clean strings to protect from XSS attacks.
=head2 EXAMPLES
use String::Clean::XSS;
my $stuff_from_user = '<script>bad stuff</script>';
my $safe_login = convert_XSS($stuff_from_user);
# results in '&lt;script&gt;bad stuff&lt;/script&gt;'
my $cleaned_login = clean_XSS($stuff_from_user);
$ results in 'scriptbad stuff/script'
=head1 FUNCTIONS
=head2 clean_XSS
clean_XSS( $string );
Removes angle brackets from the given string.
=cut
sub clean_XSS {
my ( $string ) = @_;
assert_defined($string);
my $yaml = q{
---
- '<'
- '>'
};
return String::Clean->new()->clean_by_yaml( $yaml, $string );
}
=head2 convert_XSS
convert_XSS( $string );
Converts angle brackets to there HTML entities.
=cut
sub convert_XSS {
my ( $string ) = @_;
assert_defined($string);
my $yaml = q{
---
'<' : '&lt;'
'>' : '&gt;'
};
return String::Clean->new()->clean_by_yaml( $yaml, $string );
}
=head1 AUTHOR
ben hengst, C<< <notbenh at CPAN.org> >>
=head1 BUGS
Please report any bugs or feature requests to C<bug-string-clean at rt.cpan.org>, or through
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=String-Clean>. I will be notified, and then you'll
automatically be notified of progress on your bug as I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc String::Clean
You can also look for information at:
=over 4
=item * RT: CPAN's request tracker
=item * AnnoCPAN: Annotated CPAN documentation
=item * CPAN Ratings
=item * Search CPAN
=back
=head1 ACKNOWLEDGEMENTS
=head1 COPYRIGHT & LICENSE
Copyright 2007 ben hengst, all rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
=cut
1; # End of String::Clean::XSS