首页 > 解决方案 > Laravel 进程组件安全问题?

问题描述

我有一个问题,这种代码方式是否存在任何安全问题?在 Laravel Symfony 组件中?

        $process = new Process('youtube-dl -j '.request('user_input');
        $process->run();
        $output = $process->getOutput();

我在文档中看到了一些示例,但就像ls -lsa没有用户输入一样。是否可以从用户那里注入恶意代码?

在我应用这种方法之前有什么帮助吗?

标签: phplaravelsymfonysecuritycomponents

解决方案


这是100%不安全的。

我不知道 Symfony,但从第一印象来看,它并不安全。

首先,您将输入注入到命令字符串中,这意味着您将一个参数作为字符串传递。

该过程如何理解哪一个是您的用户的输入?

我建议您再次阅读文档。您可能会找到一种将用户输入作为附加参数传递的方法。

如果你找到了,我想你会安全的。


推荐阅读