eval函数如何防shell注入

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
leo
最佳答案

可以试试这个包 symfony.com/doc/current/components... ,不过上手难度比较大

2年前 评论
讨论数量: 5

只能是过滤啊,但这东西归根结底还是不安全的,只能是你可以承担风险的情况下去用

2年前 评论
虚妄 (楼主) 2年前
wanzi (作者) 2年前
wanzi (作者) 2年前
fatrbaby

归根结底就是不用eval,这个函数也不是无可替代的。楼主你说说,什么情况非得用eval?

2年前 评论
虚妄 (楼主) 2年前

不过输入可控,是公司内网运营平台才能进行配置

2年前 评论
fatrbaby

@虚妄

<?php

declare(strict_types=1);

use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;

require __DIR__ . '/vendor/autoload.php';

$process = new Process(['php', '-f', '/path/to/tmp.php']);

$process->run();

if (!$process->isSuccessful()) {
    throw new ProcessFailedException($process);
}

echo $process->getOutput();
2年前 评论
虚妄 (楼主) 2年前
fatrbaby (作者) 2年前
虚妄 (楼主) 2年前
fatrbaby (作者) 2年前
虚妄 (楼主) 2年前
fatrbaby (作者) 2年前
leo

可以试试这个包 symfony.com/doc/current/components... ,不过上手难度比较大

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!