Мне нужно отправить кучу строковых переменных в качестве полезных данных в сообщении HTTP POST с использованием Perl.Удалить небезопасные HTTP-символы из строки
Я хочу удалить «небезопасные» символы, такие как < > “ ‘ % ;) (& +
из моей строковой переменной.
Я знаю, что я могу использовать шаблон регулярных выражений для поиска и замены каждого из этих символов, но мне интересно, существует ли какая-либо существующая библиотека Perl, которая уже делает это.
Например, я нашел Apache::Util
my $esc = Apache::Util::escape_uri($uri);
Могу ли я использовать Apache::Util::escape
для этого? Или есть лучший способ?
EDIT 1: Я уже упоминал, что по небезопасным я имею в виду символы типа < > “ ‘ % ;) (& +
, которые могут использоваться в SQL-инъекции. Я не знаю, как лучше описать эту проблему.
EDIT 2: Вот код, который я работаю на -it это внедренный код Perl:
$cgi = CGI->new();
my $param1 = $cgi->param('param1');
my $param2 = $cgi->param('param2');
my $param3 = $cgi->param('param3');
# I want to remove unsafe characters (< > “ ‘ % ;) (& +) from $param1, $param2 and $param3
# Q is, do I use Apache::Util::escape_uri; even if that's for removing unsafe chars from URI?
# OR do I use URI::Escape 'uri_escape';?
$script = <<__HTML__;
<script>
API.call ({
'paramA': '$param1',
'paramB': '$param2',
'paramC': '$param3'
});
</script>
__HTML__
EDIT 3: Если кто-то имеет тот же вопрос, я закончил писать Perl . функция, которая ищет определенные символы, такие как «(», «{», «$», «;», и т.д., и удаляет их из предоставленного параметра строки
Список всех символов, которые я вылетающих являются: ";", "(", ")", "[", "]", "{", "}", "~", "`", "/", "<", ">", "&", "|", "'", "\"", "\\"
Очевидно, что есть место для исключений.
Вы используете 'CGI'? Существует функция, аналогичная функции «A :: U :: escape_uri()». http://perldoc.perl.org/CGI.html#AUTOESCAPING-HTML – PerlDuck
Я только что заметил: вы хотите *** отправить *** ваши данные уже сбежали, так что вы пишете клиентскую сторону? Если я прав, то, пожалуйста, расскажите, какие модули вы уже используете. – PerlDuck
Чтобы разработать немного больше, это встроенная страница perl. Я генерирую некоторые данные в виде переменных строки perl, которые я вышлю как простой вызов POST JavaScript на этой странице EPL. Поэтому я хочу очистить свои переменные до вызова JavaScript POST. – BlueChips23