使用Data :: Dumper的Perl Web API

jon*_*ers 1 perl web-services mod-perl data-dumper

我们使用Apache和mod_perl开发了一个开放的Web API,您可以在其中传递由Data :: Dumper创建的文本来发出请求.

我们的数据通常如下所示:

$VAR1 = {
    'OurField' => 'OurValue'
};
Run Code Online (Sandbox Code Playgroud)

目前,我注意到我们正在使用a eval将数据恢复到Perl哈希服务器端:

my $VAR1;
eval $our_dumper_string;
#$VAR1 is now filled with hash value
Run Code Online (Sandbox Code Playgroud)

这个问题,是一个重大的安全问题.您可以在那里传递恶意perl代码,它将运行服务器端...

有一个更好的方法来安全地获取Data :: Dumper字符串并将其转换为哈希?

Stu*_*att 7

是.使用JSON :: XS并使用JSON而不是Data :: Dumper格式.这与其他Web API更加兼容