eval函数如何防shell注入

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

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

3年前 评论
讨论数量: 5

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

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

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

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

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

3年前 评论
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();
3年前 评论
虚妄 (楼主) 3年前
fatrbaby (作者) 3年前
虚妄 (楼主) 3年前
fatrbaby (作者) 3年前
虚妄 (楼主) 3年前
fatrbaby (作者) 3年前
leo

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

3年前 评论

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