php - Laravel 进程组件安全问题?
问题描述
我有一个问题,这种代码方式是否存在任何安全问题?在 Laravel Symfony 组件中?
$process = new Process('youtube-dl -j '.request('user_input');
$process->run();
$output = $process->getOutput();
我在文档中看到了一些示例,但就像ls -lsa
没有用户输入一样。是否可以从用户那里注入恶意代码?
在我应用这种方法之前有什么帮助吗?
解决方案
这是100%不安全的。
我不知道 Symfony,但从第一印象来看,它并不安全。
首先,您将输入注入到命令字符串中,这意味着您将一个参数作为字符串传递。
该过程如何理解哪一个是您的用户的输入?
我建议您再次阅读文档。您可能会找到一种将用户输入作为附加参数传递的方法。
如果你找到了,我想你会安全的。
推荐阅读
- vue.js - Vue.js 应用电话号码格式
- oracle - 我如何跟踪工作 subid 的变化
- scala - 如何从 RDD Spark Scala 中删除最后一行
- ruby - 如何使用 GTK3 交付宝石?
- python - 如何解决大量消耗 RAM python asyncio 问题?
- java - NetBeans 中的 Java 存在一些缺陷
- excel - 在另一个 If Not 场景之后运行 If Not
- graphviz - 向 Dask 图添加标签
- sed - Unix 中使用 sed 命令的子字符串文件名
- javascript - XML:如何将项目(HBox/Vbox 的按钮)向右对齐