我們使用Apache和mod_perl開發了一個開放的Web API,您可以在其中傳遞由Data :: Dumper創建的文本以發出請求。使用Data :: Dumper的Perl web API
我們的數據一般是這樣的:
$VAR1 = {
'OurField' => 'OurValue'
};
目前,我注意到我們使用的eval
來取回數據到Perl hash服務器端:
my $VAR1;
eval $our_dumper_string;
#$VAR1 is now filled with hash value
的問題這是否是一個重大的安全問題。你可以通過惡意的Perl代碼在那裏,它會運行服務器端...
它有一個更好的方式來安全地採取一個Data :: Dumper字符串,並將其變成一個哈希?
我們還支持XML,YAML和JSON。這只是我們的perl開發人員目前使用的第四種格式。我們想繼續支持它,B/C目前正在使用... – jonathanpeppers
好的,我正在觸摸突然,我猜想這可能是一個問題。但是,還有其他問題。首先,你不能真正控制核心模塊的功能,所以它們可以改變,除了與eval兼容。 CPAN安全模塊可能是您最好的選擇,可以對eval進行隔離,以便執行一些代碼。這將使Data :: Dumper完好無損,但解決了安全問題。 –
我們將嘗試使用Safe,我認爲它看起來是一個不錯的選擇。 – jonathanpeppers