gpt4 book ai didi

c - 如何安全地将数据从 C 传输到 Perl?

转载 作者:太空宇宙 更新时间:2023-11-04 04:34:44 30 4
gpt4 key购买 nike

假设我有一个 perl 程序,例如:

my $c = "MyDataToCProg";
open my $h, '-|', 'myCProg', "$c";
my @result = <$h>;
close $h;
print "Result: " . $result[0] . "\n";

现在,myCProg 是一个用gcc 编译的程序。 C 程序的输出将是一个 printf 语句,它最终会出现在 perl 程序的 $result[0] 变量中。

从 C 程序中提取输出是否有比使用 printf 打印更好的方法?例如,任何人都可以从命令行运行“myCProg”并查看输出。我希望输出只能在 perl 程序中看到,如果有人在命令行运行该程序则看不到。

有人知道怎么做吗?

抱歉,我手边没有 C 程序,但任何有 printf 语句(即使是简单的 Hello World)并带有参数(也许打印“Hello [yourname]”)的东西都适用于这个例子。

最佳答案

您可以加密通信。您可以通过 fd 3 进行通信。您可以创建一个套接字并让 C 程序连接到该套接字。但无论您做什么,其他人也可以做。

想到的唯一解决方案涉及文件权限:删除访问 C 程序的能力,并使 Perl 程序成为其所有者有权访问 C 程序的 set-uid 脚本。详细点,

  1. 创建一个拥有此应用程序的用户。我们称它为 myProg
  2. chown myProg myCProg myPerlProg
  3. chmod 700 myCProg
  4. chmod 4755 myPerlProg

关于c - 如何安全地将数据从 C 传输到 Perl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32105815/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com