Ich muss eine Reihe von String-Variablen als Payloads in einer HTTP-POST-Nachricht mit Perl senden.Entfernen Sie unsichere HTTP-Zeichen aus einer Zeichenfolge
Ich möchte "unsichere" Zeichen wie < > “ ‘ % ;) (& +
aus meiner String-Variable entfernen.
Ich weiß, dass ich ein Regex-Muster verwenden kann, um jedes dieser Zeichen zu finden und zu ersetzen, aber ich frage mich, ob es eine vorhandene Perl-Bibliothek gibt, die das bereits tut.
Zum Beispiel fand ich Apache::Util
my $esc = Apache::Util::escape_uri($uri);
Kann ich Apache::Util::escape
für diesen Einsatz? Oder gibt es einen besseren Weg?
EDIT 1: Ich habe bereits erwähnt, dass durch unsafe, ich meine Zeichen wie < > “ ‘ % ;) (& +
, die in SQL-Injektion verwendet werden können. Ich weiß nicht, wie ich dieses Problem besser beschreiben soll.
EDIT 2: Hier ist der Code, den ich auf -es arbeite ist ein Embedded Perl-Code:
$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: Wenn jemand anderes die gleiche Frage hat, wie ich ein Perl-Schreiben endete . Funktion, die für bestimmte Zeichen wie „(“, „{“, „$“, sieht „;“, etc. und entfernt sie von Ihrem bereitgestellt String-Parameter
Liste aller Charaktere, die ich entkommen ist: ";", "(", ")", "[", "]", "{", "}", "~", "`", "/", "<", ">", "&", "|", "'", "\"", "\\"
Offensichtlich gibt es auch Platz für Ausschlüsse.
Verwenden Sie derzeit CGI? Es gibt eine ähnliche Funktion wie 'A :: U :: escape_uri()'. http://perldoc.perl.org/CGI.html#AUTOESCAPING-HTML – PerlDuck
Mir ist gerade aufgefallen: Willst du *** *** deine Daten bereits entkamen, schreibst du also die Clientseite? Wenn ich recht habe, dann bitte sagen Sie, welche Module Sie bereits verwenden. – PerlDuck
Um ein wenig mehr zu erarbeiten, ist dies eine eingebettete Perl-Seite. Ich erzeuge einige Daten als Perl-String-Variablen, die ich als einfachen JavaScript-POST-Aufruf auf dieser EPL-Seite senden werde. Also möchte ich meine Variablen vor dem JavaScript-POST-Aufruf bereinigen. – BlueChips23